Skip to content

Commit e460d35

Browse files
authored
Support signbit(::Dates.Period) (#51073)
1 parent 1b25d1e commit e460d35

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

stdlib/Dates/src/periods.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ div(x::Period, y::Period, r::RoundingMode) = div(promote(x, y)..., r)
102102
Base.gcdx(a::T, b::T) where {T<:Period} = ((g, x, y) = gcdx(value(a), value(b)); return T(g), x, y)
103103
Base.abs(a::T) where {T<:Period} = T(abs(value(a)))
104104
Base.sign(x::Period) = sign(value(x))
105+
Base.signbit(x::Period) = signbit(value(x))
105106

106107
# return (next coarser period, conversion factor):
107108
coarserperiod(::Type{P}) where {P<:Period} = (P, 1)

stdlib/Dates/test/periods.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ using Test
3030
@test sign(t) == sign(t2) == 1
3131
@test sign(-t) == sign(-t2) == -1
3232
@test sign(Dates.Year(0)) == 0
33+
@test signbit(t) == signbit(t2) == false
34+
@test signbit(-t) == signbit(-t2) == true
35+
@test signbit(Dates.Year(0)) == false
3336
end
3437
@testset "div/mod/gcd/lcm/rem" begin
3538
@test Dates.Year(10) % Dates.Year(4) == Dates.Year(2)

0 commit comments

Comments
 (0)