-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Just stumbled across this one here
julia> a = Double64(floatmin(Float64))
2.2250738585072014e-308
julia> b = Double64(0.0,floatmin(Float64))
2.22507385850720138309023271733240406e-308
julia> Float64(a)
2.2250738585072014e-308
julia> Float64(b)
0.0a,b are technically the same number but one has floatmin in hi one in low, the conversion to Float64 disregards the lo, which for all other Double64s makes sense because as far as I understand eps(hi) > 2lo so truncation to hi is round to nearest in those cases. With b ☝🏼 however I created a Double64 for which eps(hi) > 2lo and so it doesn't round correctly. Is there a function that recalculates hi, lo given a Double64 so that this eps-requirement holds again?
Metadata
Metadata
Assignees
Labels
No labels