From 97f7248ca95df2a287b071ae9d85faa95aa923f5 Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Fri, 26 Aug 2022 12:58:10 +0200 Subject: [PATCH 1/3] fix invalidations of `isinf` from Static.jl --- base/float.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/float.jl b/base/float.jl index eb1cc36e6c215..90c8628caa98d 100644 --- a/base/float.jl +++ b/base/float.jl @@ -505,7 +505,7 @@ Test whether a number is infinite. See also: [`Inf`](@ref), [`iszero`](@ref), [`isfinite`](@ref), [`isnan`](@ref). """ -isinf(x::Real) = !isnan(x) & !isfinite(x) +isinf(x::Real) = !(isnan(x)::Bool) & !(isfinite(x)::Bool) const hx_NaN = hash_uint64(reinterpret(UInt64, NaN)) let Tf = Float64, Tu = UInt64, Ti = Int64 From a7a9fa3ea10eea2ac89baa26c0eef5f4cf2abcbe Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Tue, 30 Aug 2022 12:46:04 +0200 Subject: [PATCH 2/3] Revert "fix invalidations of `isinf` from Static.jl" This reverts commit 97f7248ca95df2a287b071ae9d85faa95aa923f5. --- base/float.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/float.jl b/base/float.jl index 90c8628caa98d..eb1cc36e6c215 100644 --- a/base/float.jl +++ b/base/float.jl @@ -505,7 +505,7 @@ Test whether a number is infinite. See also: [`Inf`](@ref), [`iszero`](@ref), [`isfinite`](@ref), [`isnan`](@ref). """ -isinf(x::Real) = !(isnan(x)::Bool) & !(isfinite(x)::Bool) +isinf(x::Real) = !isnan(x) & !isfinite(x) const hx_NaN = hash_uint64(reinterpret(UInt64, NaN)) let Tf = Float64, Tu = UInt64, Ti = Int64 From c6404537e003678c803d0548248625a322258176 Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Tue, 30 Aug 2022 12:47:29 +0200 Subject: [PATCH 3/3] fix invalidations of `isinf` from Static.jl one level higher --- stdlib/TOML/src/print.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/TOML/src/print.jl b/stdlib/TOML/src/print.jl index 059414152f727..46c5ecc357fbd 100644 --- a/stdlib/TOML/src/print.jl +++ b/stdlib/TOML/src/print.jl @@ -78,7 +78,7 @@ printvalue(f::MbyFunc, io::IO, value::Integer; _...) = Base.print(io, Int64(value)) # TOML specifies 64-bit signed long range for integer printvalue(f::MbyFunc, io::IO, value::AbstractFloat; _...) = Base.print(io, isnan(value) ? "nan" : - isinf(value) ? string(value > 0 ? "+" : "-", "inf") : + !(isfinite(value)::Bool) ? string(value > 0 ? "+" : "-", "inf") : Float64(value)) # TOML specifies IEEE 754 binary64 for float function printvalue(f::MbyFunc, io::IO, value::AbstractString; _...) Base.print(io, "\"")