Skip to content

Commit eabacdc

Browse files
committed
FemtoCleaner deprecation fixes up to 0.6
1 parent 7563795 commit eabacdc

File tree

2 files changed

+58
-63
lines changed

2 files changed

+58
-63
lines changed

src/RoundingIntegers.jl

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ export RSigned, RUnsigned, RInteger
99
export RInt8, RUInt8, RInt16, RUInt16, RInt32, RUInt32, RInt64, RUInt64,
1010
RInt128, RUInt128, RInt, RUInt
1111

12-
@compat abstract type RSigned <: Signed end
13-
@compat abstract type RUnsigned <: Unsigned end
12+
abstract type RSigned <: Signed end
13+
abstract type RUnsigned <: Unsigned end
1414

1515
const RInteger = Union{RSigned,RUnsigned}
1616

17-
@compat primitive type RInt8 <: RSigned 8 end
18-
@compat primitive type RUInt8 <: RUnsigned 8 end
19-
@compat primitive type RInt16 <: RSigned 16 end
20-
@compat primitive type RUInt16 <: RUnsigned 16 end
21-
@compat primitive type RInt32 <: RSigned 32 end
22-
@compat primitive type RUInt32 <: RUnsigned 32 end
23-
@compat primitive type RInt64 <: RSigned 64 end
24-
@compat primitive type RUInt64 <: RUnsigned 64 end
25-
@compat primitive type RInt128 <: RSigned 128 end
26-
@compat primitive type RUInt128 <: RUnsigned 128 end
17+
primitive type RInt8 <: RSigned 8 end
18+
primitive type RUInt8 <: RUnsigned 8 end
19+
primitive type RInt16 <: RSigned 16 end
20+
primitive type RUInt16 <: RUnsigned 16 end
21+
primitive type RInt32 <: RSigned 32 end
22+
primitive type RUInt32 <: RUnsigned 32 end
23+
primitive type RInt64 <: RSigned 64 end
24+
primitive type RUInt64 <: RUnsigned 64 end
25+
primitive type RInt128 <: RSigned 128 end
26+
primitive type RUInt128 <: RUnsigned 128 end
2727

2828
if Sys.WORD_SIZE == 32
2929
const RInt = RInt32
@@ -65,67 +65,67 @@ rtype(x::Union{Signed,Unsigned}) = rtype(typeof(x))
6565
# RIntegers are largely about assignment; for usage, we convert to
6666
# standard integers at the drop of a hat.
6767

68-
Base.promote_rule{T<:Number,RI<:RInteger}(::Type{T}, ::Type{RI}) =
68+
Base.promote_rule(::Type{T}, ::Type{RI}) where {T<:Number,RI<:RInteger} =
6969
promote_type(T, itype(RI))
7070
# Resolve ambiguities
71-
Base.promote_rule{RI<:RInteger}(::Type{Bool}, ::Type{RI}) =
71+
Base.promote_rule(::Type{Bool}, ::Type{RI}) where {RI<:RInteger} =
7272
promote_type(Bool, itype(RI))
73-
Base.promote_rule{RI<:RInteger}(::Type{BigInt}, ::Type{RI}) =
73+
Base.promote_rule(::Type{BigInt}, ::Type{RI}) where {RI<:RInteger} =
7474
promote_type(BigInt, itype(RI))
75-
Base.promote_rule{RI<:RInteger}(::Type{BigFloat}, ::Type{RI}) =
75+
Base.promote_rule(::Type{BigFloat}, ::Type{RI}) where {RI<:RInteger} =
7676
promote_type(BigFloat, itype(RI))
77-
Base.promote_rule{T<:Real,RI<:RInteger}(::Type{Complex{T}}, ::Type{RI}) =
77+
Base.promote_rule(::Type{Complex{T}}, ::Type{RI}) where {T<:Real,RI<:RInteger} =
7878
promote_type(Complex{T}, itype(RI))
79-
Base.promote_rule{T<:Integer,RI<:RInteger}(::Type{Rational{T}}, ::Type{RI}) =
79+
Base.promote_rule(::Type{Rational{T}}, ::Type{RI}) where {T<:Integer,RI<:RInteger} =
8080
promote_type(Rational{T}, itype(RI))
81-
@compat Base.promote_rule{RI<:RInteger}(::Type{<:Irrational}, ::Type{RI}) =
81+
Base.promote_rule(::Type{<:Irrational}, ::Type{RI}) where {RI<:RInteger} =
8282
promote_type(Float64, itype(RI))
8383

84-
(::Type{Signed})(x::RSigned) = reinterpret(itype(x), x)
85-
(::Type{Unsigned})(x::RUnsigned) = reinterpret(itype(x), x)
86-
(::Type{RSigned})(x::Signed) = reinterpret(rtype(x), x)
87-
(::Type{RUnsigned})(x::Unsigned) = reinterpret(rtype(x), x)
88-
(::Type{Integer})(x::RSigned) = Signed(x)
89-
(::Type{Integer})(x::RUnsigned) = Unsigned(x)
90-
(::Type{RInteger})(x::Signed) = RSigned(x)
91-
(::Type{RInteger})(x::Unsigned) = RUnsigned(x)
84+
Signed(x::RSigned) = reinterpret(itype(x), x)
85+
Unsigned(x::RUnsigned) = reinterpret(itype(x), x)
86+
RSigned(x::Signed) = reinterpret(rtype(x), x)
87+
RUnsigned(x::Unsigned) = reinterpret(rtype(x), x)
88+
Integer(x::RSigned) = Signed(x)
89+
Integer(x::RUnsigned) = Unsigned(x)
90+
RInteger(x::Signed) = RSigned(x)
91+
RInteger(x::Unsigned) = RUnsigned(x)
9292

9393
# Basic conversions
9494
# @inline Base.convert{T<:RSigned}(::Type{T}, x::T) = x
9595
# @inline Base.convert{T<:RUnsigned}(::Type{T}, x::T) = x
96-
@inline Base.convert{T<:RInteger}(::Type{T}, x::T) = x
97-
@inline Base.convert{T<:RInteger}(::Type{T}, x::RInteger) =
96+
@inline Base.convert(::Type{T}, x::T) where {T<:RInteger} = x
97+
@inline Base.convert(::Type{T}, x::RInteger) where {T<:RInteger} =
9898
RInteger(convert(itype(T), Integer(x)))
99-
@inline Base.convert{T<:RInteger}(::Type{T}, x::Integer) = RInteger(convert(itype(T), x))
100-
@inline Base.convert{T<:RInteger}(::Type{T}, x::AbstractFloat) =
99+
@inline Base.convert(::Type{T}, x::Integer) where {T<:RInteger} = RInteger(convert(itype(T), x))
100+
@inline Base.convert(::Type{T}, x::AbstractFloat) where {T<:RInteger} =
101101
RInteger(round(itype(T), x))
102-
@inline Base.convert{T<:RInteger}(::Type{T}, x::Number) =
102+
@inline Base.convert(::Type{T}, x::Number) where {T<:RInteger} =
103103
convert(T, convert(itype(T), x))
104104

105-
@inline Base.convert{T<:Number}(::Type{T}, x::RInteger) = convert(T, Integer(x))
105+
@inline Base.convert(::Type{T}, x::RInteger) where {T<:Number} = convert(T, Integer(x))
106106

107107
# Resolve ambiguities
108108
Base.convert(::Type{Integer}, x::RInteger) = Integer(x)
109109
Base.convert(::Type{BigInt}, x::RInteger) = convert(BigInt, Integer(x))
110-
Base.convert{T<:RInteger}(::Type{T}, x::BigInt) = RInteger(convert(itype(T), x))
110+
Base.convert(::Type{T}, x::BigInt) where {T<:RInteger} = RInteger(convert(itype(T), x))
111111
Base.convert(::Type{BigFloat}, x::RInteger) = convert(BigFloat, Integer(x))
112-
Base.convert{T<:RInteger}(::Type{T}, x::BigFloat) = RInteger(convert(itype(T), x))
113-
Base.convert{T<:Real}(::Type{Complex{T}}, x::RInteger) = convert(Complex{T}, Integer(x))
114-
Base.convert{T<:RInteger}(::Type{T}, z::Complex) = RInteger(convert(itype(T), z))
112+
Base.convert(::Type{T}, x::BigFloat) where {T<:RInteger} = RInteger(convert(itype(T), x))
113+
Base.convert(::Type{Complex{T}}, x::RInteger) where {T<:Real} = convert(Complex{T}, Integer(x))
114+
Base.convert(::Type{T}, z::Complex) where {T<:RInteger} = RInteger(convert(itype(T), z))
115115
Base.convert(::Type{Complex}, x::RInteger) = Complex(x)
116-
Base.convert{T<:RInteger}(::Type{T}, x::Rational) = RInteger(convert(itype(T)), x)
117-
Base.convert{T<:Integer}(::Type{Rational{T}}, x::RInteger) =
116+
Base.convert(::Type{T}, x::Rational) where {T<:RInteger} = RInteger(convert(itype(T)), x)
117+
Base.convert(::Type{Rational{T}}, x::RInteger) where {T<:Integer} =
118118
convert(Rational{T}, Integer(x))
119119
Base.convert(::Type{Rational}, x::RInteger) = convert(Rational{typeof(x)}, x)
120120
Base.convert(::Type{Float16}, x::RInteger) = convert(Float16, Integer(x))
121-
Base.convert{T<:RInteger}(::Type{T}, x::Float16) = RInteger(convert(itype(T), x))
121+
Base.convert(::Type{T}, x::Float16) where {T<:RInteger} = RInteger(convert(itype(T), x))
122122
Base.convert(::Type{Bool}, x::RInteger) = convert(Bool, Integer(x))
123123

124124
# rem conversions
125-
@inline Base.rem{T<:RInteger}(x::T, ::Type{T}) = T
126-
@inline Base.rem{T<:RInteger}(x::Integer, ::Type{T}) = RInteger(rem(x, itype(T)))
125+
@inline Base.rem(x::T, ::Type{T}) where {T<:RInteger} = T
126+
@inline Base.rem(x::Integer, ::Type{T}) where {T<:RInteger} = RInteger(rem(x, itype(T)))
127127
# ambs
128-
@inline Base.rem{T<:RInteger}(x::BigInt, ::Type{T}) = error("no rounding BigInt available")
128+
@inline Base.rem(x::BigInt, ::Type{T}) where {T<:RInteger} = error("no rounding BigInt available")
129129

130130

131131
Base.flipsign(x::RSigned, y::RSigned) = RInteger(flipsign(Integer(x), Integer(y)))
@@ -153,23 +153,23 @@ Base.ndigits0z(x::RInteger) = Base.ndigits0z(Integer(x))
153153
>>>(x::RInteger, y::Int) = RInteger(Integer(x) >>> y)
154154
<<(x::RInteger, y::Int) = RInteger(Integer(x) << y)
155155

156-
+{T<:RInteger}(x::T, y::T) = RInteger(Integer(x) + Integer(y))
157-
-{T<:RInteger}(x::T, y::T) = RInteger(Integer(x) - Integer(y))
158-
*{T<:RInteger}(x::T, y::T) = RInteger(Integer(x) * Integer(y))
159-
(&){T<:RInteger}(x::T, y::T) = RInteger(Integer(x) & Integer(y))
160-
(|){T<:RInteger}(x::T, y::T) = RInteger(Integer(x) | Integer(y))
156+
+(x::T, y::T) where {T<:RInteger} = RInteger(Integer(x) + Integer(y))
157+
-(x::T, y::T) where {T<:RInteger} = RInteger(Integer(x) - Integer(y))
158+
*(x::T, y::T) where {T<:RInteger} = RInteger(Integer(x) * Integer(y))
159+
(&)(x::T, y::T) where {T<:RInteger} = RInteger(Integer(x) & Integer(y))
160+
(|)(x::T, y::T) where {T<:RInteger} = RInteger(Integer(x) | Integer(y))
161161
# ($){T<:RInteger}(x::T, y::T) = RInteger(Integer(x) $ Integer(y))
162-
Compat.xor{T<:RInteger}(x::T, y::T) = RInteger(xor(Integer(x), Integer(y)))
162+
Compat.xor(x::T, y::T) where {T<:RInteger} = RInteger(xor(Integer(x), Integer(y)))
163163

164-
Base.rem{T<:RInteger}(x::T, y::T) = RInteger(rem(Integer(x), Integer(y)))
165-
Base.mod{T<:RInteger}(x::T, y::T) = RInteger(mod(Integer(x), Integer(y)))
164+
Base.rem(x::T, y::T) where {T<:RInteger} = RInteger(rem(Integer(x), Integer(y)))
165+
Base.mod(x::T, y::T) where {T<:RInteger} = RInteger(mod(Integer(x), Integer(y)))
166166

167167
Base.unsigned(x::RSigned) = RInteger(unsigned(Integer(x)))
168168
Base.signed(x::RSigned) = RInteger(signed(Integer(x)))
169169

170170
# traits
171-
Base.typemin{T<:RInteger}(::Type{T}) = RInteger(typemin(itype(T)))
172-
Base.typemax{T<:RInteger}(::Type{T}) = RInteger(typemax(itype(T)))
173-
Base.widen{T<:RInteger}(::Type{T}) = rtype(widen(itype(T)))
171+
Base.typemin(::Type{T}) where {T<:RInteger} = RInteger(typemin(itype(T)))
172+
Base.typemax(::Type{T}) where {T<:RInteger} = RInteger(typemax(itype(T)))
173+
Base.widen(::Type{T}) where {T<:RInteger} = rtype(widen(itype(T)))
174174

175175
end # module

test/runtests.jl

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
using Compat, Base.Test
2-
if VERSION < v"0.6.0-pre.alpha.229"
3-
using RoundingIntegers
4-
@test isempty(detect_ambiguities(Base, Core, RoundingIntegers))
5-
else
6-
ambs0 = detect_ambiguities(Base, Core, Compat)
7-
using RoundingIntegers
8-
ambs1 = detect_ambiguities(Base, Core, Compat, RoundingIntegers)
9-
@test isempty(setdiff(ambs1, ambs0))
10-
end
2+
ambs0 = detect_ambiguities(Base, Core, Compat)
3+
using RoundingIntegers
4+
ambs1 = detect_ambiguities(Base, Core, Compat, RoundingIntegers)
5+
@test isempty(setdiff(ambs1, ambs0))
116

127
@testset "Basics" begin
138
r16 = RInt16(3)

0 commit comments

Comments
 (0)