From e924a772f587b66b8ade63f3818a276a336cb64f Mon Sep 17 00:00:00 2001 From: Adarsh Palaskar Date: Wed, 31 Jan 2024 02:01:55 +0530 Subject: [PATCH 1/4] Reduce sigdigits in parameter range display #948 This commit addresses issue #948 by updating the display of parameter ranges to include reduced significant digits. --- src/hyperparam/one_dimensional_ranges.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hyperparam/one_dimensional_ranges.jl b/src/hyperparam/one_dimensional_ranges.jl index bd12512c1..71f52b805 100644 --- a/src/hyperparam/one_dimensional_ranges.jl +++ b/src/hyperparam/one_dimensional_ranges.jl @@ -31,7 +31,7 @@ end # case that `r.scale` is not a symbol, and returning "?" if applying the transformation # throws an exception: function _repr(r::NumericRange{T}, field) where T - value = getproperty(r, field) + value = round(getproperty(r, field), sigdigits=4) r.scale isa Symbol && return repr(value) return try scaled = (r.scale)(value) From 8630c19bb4c31c15b6f031f150dcef9ac9934125 Mon Sep 17 00:00:00 2001 From: Adarsh Palaskar Date: Wed, 31 Jan 2024 19:09:43 +0530 Subject: [PATCH 2/4] Reduce sigdigits in parameter range display #948 This commit addresses issue #948 by updating the display of parameter ranges to include reduced significant digits. --- src/hyperparam/one_dimensional_ranges.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hyperparam/one_dimensional_ranges.jl b/src/hyperparam/one_dimensional_ranges.jl index 71f52b805..e7e6a0098 100644 --- a/src/hyperparam/one_dimensional_ranges.jl +++ b/src/hyperparam/one_dimensional_ranges.jl @@ -31,7 +31,10 @@ end # case that `r.scale` is not a symbol, and returning "?" if applying the transformation # throws an exception: function _repr(r::NumericRange{T}, field) where T - value = round(getproperty(r, field), sigdigits=4) + value = getproperty(r, field) + if !(typeof(value) <: Integer) + value = round(value, sigdigits=4) + end r.scale isa Symbol && return repr(value) return try scaled = (r.scale)(value) From 387e7f3cdd490fceb125099172c2dd854f6a7828 Mon Sep 17 00:00:00 2001 From: Adarsh Palaskar <83298237+adarshpalaskar1@users.noreply.github.com> Date: Fri, 2 Feb 2024 16:24:08 +0530 Subject: [PATCH 3/4] Update src/hyperparam/one_dimensional_ranges.jl refactored type check Co-authored-by: Anthony Blaom, PhD --- src/hyperparam/one_dimensional_ranges.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hyperparam/one_dimensional_ranges.jl b/src/hyperparam/one_dimensional_ranges.jl index e7e6a0098..f642345f5 100644 --- a/src/hyperparam/one_dimensional_ranges.jl +++ b/src/hyperparam/one_dimensional_ranges.jl @@ -32,7 +32,7 @@ end # throws an exception: function _repr(r::NumericRange{T}, field) where T value = getproperty(r, field) - if !(typeof(value) <: Integer) + if !(value isa Integer) value = round(value, sigdigits=4) end r.scale isa Symbol && return repr(value) From 02af6e085b0dc005af120539c08cc6ae158a9259 Mon Sep 17 00:00:00 2001 From: Adarsh Palaskar Date: Fri, 2 Feb 2024 16:46:01 +0530 Subject: [PATCH 4/4] Add Float64 range test Added test for one-dimensional range with Float64 values, rounded off to 4 significant digits. --- test/hyperparam/one_dimensional_ranges.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/hyperparam/one_dimensional_ranges.jl b/test/hyperparam/one_dimensional_ranges.jl index 1567f91e0..ce3d352b2 100644 --- a/test/hyperparam/one_dimensional_ranges.jl +++ b/test/hyperparam/one_dimensional_ranges.jl @@ -120,10 +120,13 @@ end io = IOBuffer() r1 = range(Int, :junk, lower=1, upper=10) r2 = range(Char, :junk, values=['c', 'd']) + r3 = range(Float64, :junk, lower=3.14159, upper=6.283185) show(io, r1) @test String(take!(io)) == "NumericRange(1 ≤ junk ≤ 10; origin=5.5, unit=4.5)" show(io, r2) @test String(take!(io)) == "NominalRange(junk = c, d)" + show(io, r3) + @test String(take!(io)) == "NumericRange(3.142 ≤ junk ≤ 6.283; origin=4.712, unit=1.571)" close(io) end