On Mon, 31 Aug 2026 20:12:40 GMT, Andy Goryachev <[email protected]> wrote:

>> Ah, yes, you're right it still uses the old `round` instead of `rint` :/
>
> should we have a check for Double.MAX_VALUE to avoid possible misuse?

I think it would best to ignore this in this PR (it was broken before, it is 
still now), and instead make a follow-up PR that switches round -> rint (this 
was sort of the plan already) as round behaves poorly with our current sentinel 
`Double.MAX_VALUE` or anything else that wouldn't fit in a `long`.

In that same PR, we can remove the `ulp` in the ceiling code, as removing an 
`ulp` from `Double.MAX_VALUE` severely changes the value with no recourse.  A 
constant epsilon (that is far smaller than `Double.MAX_VALUE`) would just be 
ignored, ie:

     Double.MAX_VALUE - 0.0000001 == Double.MAX_VALUE

But

     Double.MAX_VALUE - ulp(Double.MAX_VALUE) >> Double.MAX_VALUE

(with `>>` meaning a lot smaller)

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/2278#discussion_r3898064316

Reply via email to