@@ -17,7 +17,7 @@ signbits{X<:Normed}(::Type{X}) = 0
1717
1818for T in (UInt8, UInt16, UInt32, UInt64)
1919 for f in 0 : sizeof (T)* 8
20- sym = Symbol (takebuf_string ( showtype (_iotypealias, Normed{T,f})))
20+ sym = Symbol (String ( take! ( showtype (_iotypealias, Normed{T,f}) )))
2121 @eval begin
2222 typealias $ sym Normed{$ T,$ f}
2323 export $ sym
@@ -37,15 +37,17 @@ rawone(v) = reinterpret(one(v))
3737
3838# Conversions
3939convert {T<:Normed} (:: Type{T} , x:: T ) = x
40- convert {T1,T2,f} (:: Type{Normed{T1,f}} , x:: Normed{T2,f} ) = Normed {T1,f} (convert (T1, x. i), 0 )
41- function convert {T,T2,f} (:: Type{Normed{T,f}} , x:: Normed{T2} )
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} )
4242 U = Normed{T,f}
4343 y = round ((rawone (U)/ rawone (x))* reinterpret (x))
4444 (0 <= y) & (y <= typemax (T)) || throw_converterror (U, x)
4545 reinterpret (U, _unsafe_trunc (T, y))
4646end
47- convert (:: Type{N0f16} , x:: N0f8 ) = reinterpret (N0f16, convert (UInt16, 0x0101 * reinterpret (x)))
4847convert {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)))
4951function _convert {U<:Normed,T} (:: Type{U} , :: Type{T} , x)
5052 y = round (widen1 (rawone (U))* x)
5153 (0 <= y) & (y <= typemax (T)) || throw_converterror (U, x)
0 commit comments