From 71c5c110ce9d922e2bdcef59463ca01d7600200a Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 5 Mar 2025 16:50:59 -0400 Subject: [PATCH 1/2] Remove redundant definitions --- src/bfloat16.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/bfloat16.jl b/src/bfloat16.jl index ef95afe..72e77e1 100644 --- a/src/bfloat16.jl +++ b/src/bfloat16.jl @@ -264,9 +264,7 @@ function ==(x::BFloat16, y::BFloat16) return ix == iy end -for op in (:<, :<=, :>, :>=, :!=) - @eval ($op)(a::BFloat16, b::BFloat16) = ($op)(Float32(a), Float32(b)) -end +<(a::BFloat16, b::BFloat16) = Float32(a) < Float32(b) Base.widen(::Type{BFloat16}) = Float32 Base.promote_rule(::Type{Float32}, ::Type{BFloat16}) = Float32 From 0d5081162d673bd7fd09e4c59cbaf0eb8b5cef4a Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 5 Mar 2025 19:18:26 -0400 Subject: [PATCH 2/2] Fix 1.6 --- src/bfloat16.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bfloat16.jl b/src/bfloat16.jl index 72e77e1..ccf6ebf 100644 --- a/src/bfloat16.jl +++ b/src/bfloat16.jl @@ -5,7 +5,7 @@ import Base: isfinite, isnan, precision, iszero, eps, exponent_one, exponent_half, leading_zeros, signbit, exponent, significand, frexp, ldexp, round, Int16, Int32, Int64, - +, -, *, /, ^, ==, <, <=, >=, >, !=, inv, + +, -, *, /, ^, ==, <, <=, inv, abs, abs2, uabs, sqrt, cbrt, exp, exp2, exp10, expm1, log, log2, log10, log1p, @@ -265,6 +265,9 @@ function ==(x::BFloat16, y::BFloat16) end <(a::BFloat16, b::BFloat16) = Float32(a) < Float32(b) +@static if VERSION < v"1.8" + <=(a::BFloat16, b::BFloat16) = Float32(a) <= Float32(b) +end Base.widen(::Type{BFloat16}) = Float32 Base.promote_rule(::Type{Float32}, ::Type{BFloat16}) = Float32