Skip to content

Commit a746d5c

Browse files
committed
Rename `similar_dims to WithDims, same for units
1 parent 74a73d1 commit a746d5c

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

src/Unitful.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import LinearAlgebra: istril, istriu, norm
2727
import Random
2828

2929
export logunit, unit, absoluteunit, dimension, uconvert, ustrip, upreferred
30-
export similar_units, similar_dims
30+
export WithUnits, WithDims
3131
export @dimension, @derived_dimension, @refunit, @unit, @affineunit, @u_str
3232
export Quantity, DimensionlessQuantity, NoUnits, NoDims
3333

src/utils.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -244,47 +244,47 @@ struct DimensionError <: Exception
244244
end
245245

246246
"""
247-
similar_dims(q::Quantity)
248-
similar_dims(u::Units)
247+
WithDims(q::Quantity)
248+
WithDims(u::Units)
249249
Returns a type of [`Unitful.Quantity`](@ref) with the dimensions contrained to the
250250
dimension of `q` or `u`.
251251
Useful to build unitful interfaces that don't contrain the numeric type of the specific unit.
252252
253253
Examples:
254254
255255
```jldoctest
256-
julia> circumference_of_square(side::similar_dims(u"m")) = 4*side;
256+
julia> circumference_of_square(side::WithDims(u"m")) = 4*side;
257257
julia> circumference_of_square((1//2)m) # works
258258
2//1 m
259259
julia> circumference_of_square((1//2)km) # also works
260260
2//1 km
261261
```
262262
263-
See also [`Unitful.similar_units`](@ref).
263+
See also [`Unitful.WithUnits`](@ref).
264264
"""
265-
similar_dims(q::Quantity) = Quantity{T, dimension(q), U} where {T<:Real, U<:Unitlike}
266-
similar_dims(u::Units) = Quantity{T, dimension(u), U} where {T<:Real, U<:Unitlike}
265+
WithDims(q::Quantity) = Quantity{T, dimension(q), U} where {T<:Real, U<:Unitlike}
266+
WithDims(u::Units) = Quantity{T, dimension(u), U} where {T<:Real, U<:Unitlike}
267267

268268
"""
269-
similar_units(q::Quantity)
270-
similar_units(u::Units)
269+
WithUnits(q::Quantity)
270+
WithUnits(u::Units)
271271
Returns a type of [`Unitful.Quantity`](@ref) with the dimensions and units contrained to the
272272
dimension and units of `q` or `u`.
273273
Useful to build unitful interfaces that don't contrain the numeric type.
274274
275275
Examples:
276276
277277
```jldoctest
278-
julia> circumference_of_square(side::similar_units(u"m")) = 4*side;
278+
julia> circumference_of_square(side::WithUnits(u"m")) = 4*side;
279279
julia> circumference_of_square((1//2)m) # works
280280
2//1 m
281281
julia> # circumference_of_square((1//2)km) # doesn't work, constrained to exactly meters
282282
```
283283
284-
See also [`Unitful.similar_dims`](@ref).
284+
See also [`Unitful.WithDims`](@ref).
285285
"""
286-
similar_units(q::Quantity) = Quantity{T, dimension(q), unit(q)} where {T<:Real}
287-
similar_units(u::Units) = Quantity{T, dimension(u), typeof(u)} where {T<:Real}
286+
WithUnits(q::Quantity) = Quantity{T, dimension(q), unit(q)} where {T<:Real}
287+
WithUnits(u::Units) = Quantity{T, dimension(u), typeof(u)} where {T<:Real}
288288

289289
Base.showerror(io::IO, e::DimensionError) =
290290
print(io, "DimensionError: $(e.x) and $(e.y) are not dimensionally compatible.");

test/runtests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2080,8 +2080,8 @@ Base.OrderStyle(::Type{Num}) = Base.Unordered()
20802080
# Test that @generated functions work with Quantities + custom types (#231)
20812081
@test uconvert(u"°C", Num(373.15)u"K") == Num(100)u"°C"
20822082
end
2083-
area_of_circle(radius::similar_dims(u"m")) = pi*radius^2
2084-
area_of_square(side::similar_units(u"m")) = side^2
2083+
area_of_circle(radius::WithDims(u"m")) = pi*radius^2
2084+
area_of_square(side::WithUnits(u"m")) = side^2
20852085

20862086
@testset "Unitful interfaces" begin
20872087
@test area_of_circle(Num(1.0)u"m") pi*m^2

0 commit comments

Comments
 (0)