@@ -503,15 +503,18 @@ for Ti in (Int64,UInt64,Int128,UInt128)
503503 end
504504 end
505505end
506+ for op in (:(== ), :< , :<= )
507+ @eval begin
508+ ($ op)(x:: Float16 , y:: Union{Int128,UInt128,Int64,UInt64} ) = ($ op)(Float64 (x), Float64 (y))
509+ ($ op)(x:: Union{Int128,UInt128,Int64,UInt64} , y:: Float16 ) = ($ op)(Float64 (x), Float64 (y))
506510
507- == (x:: Float32 , y:: Union{Int32,UInt32} ) = Float64 (x)== Float64 (y)
508- == (x:: Union{Int32,UInt32} , y:: Float32 ) = Float64 (x)== Float64 (y)
509-
510- < (x:: Float32 , y:: Union{Int32,UInt32} ) = Float64 (x)< Float64 (y)
511- < (x:: Union{Int32,UInt32} , y:: Float32 ) = Float64 (x)< Float64 (y)
511+ ($ op)(x:: Union{Float16,Float32} , y:: Union{Int32,UInt32} ) = ($ op)(Float64 (x), Float64 (y))
512+ ($ op)(x:: Union{Int32,UInt32} , y:: Union{Float16,Float32} ) = ($ op)(Float64 (x), Float64 (y))
512513
513- <= (x:: Float32 , y:: Union{Int32,UInt32} ) = Float64 (x)<= Float64 (y)
514- <= (x:: Union{Int32,UInt32} , y:: Float32 ) = Float64 (x)<= Float64 (y)
514+ ($ op)(x:: Float16 , y:: Union{Int16,UInt16} ) = ($ op)(Float32 (x), Float32 (y))
515+ ($ op)(x:: Union{Int16,UInt16} , y:: Float16 ) = ($ op)(Float32 (x), Float32 (y))
516+ end
517+ end
515518
516519
517520abs (x:: Float16 ) = reinterpret (Float16, reinterpret (UInt16, x) & 0x7fff )
0 commit comments