We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 9a1b40a + 3bf4701 commit 872675dCopy full SHA for 872675d
2 files changed
src/normed.jl
@@ -36,7 +36,7 @@ zero(x::Normed) = zero(typeof(x))
36
rawone(v) = reinterpret(one(v))
37
38
# Conversions
39
-convert{T<:Normed}(::Type{T}, x::T) = x
+convert{T<:Unsigned,f}(::Type{Normed{T,f}}, x::Normed{T,f}) = x
40
convert{T1<:Unsigned,T2<:Unsigned,f}(::Type{Normed{T1,f}}, x::Normed{T2,f}) = Normed{T1,f}(convert(T1, x.i), 0)
41
function convert{T<:Unsigned,T2<:Unsigned,f}(::Type{Normed{T,f}}, x::Normed{T2})
42
U = Normed{T,f}
@@ -45,7 +45,6 @@ function convert{T<:Unsigned,T2<:Unsigned,f}(::Type{Normed{T,f}}, x::Normed{T2})
45
reinterpret(U, _unsafe_trunc(T, y))
46
end
47
convert{U<:Normed}(::Type{U}, x::Real) = _convert(U, rawtype(U), x)
48
-convert{T1,T2,f}(::Type{Normed{T1,f}}, x::Normed{T2,f}) = Normed{T1,f}(convert(T1, x.i), 0)
49
50
convert(::Type{N0f16}, x::N0f8) = reinterpret(N0f16, convert(UInt16, 0x0101*reinterpret(x)))
51
function _convert{U<:Normed,T}(::Type{U}, ::Type{T}, x)
test/normed.jl
@@ -65,6 +65,7 @@ end
65
@test_throws ArgumentError convert(Normed{UInt128,100}, 10.0^9)
66
67
x = N0f8(0.5)
68
+@test convert(N0f8, x) === x
69
@test isfinite(x) == true
70
@test isnan(x) == false
71
@test isinf(x) == false
0 commit comments