On Sat, 26 Feb 2022 04:55:08 GMT, Jatin Bhateja <jbhat...@openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   8279508: Adding descriptive comments.
>
> As per SDM, if post conversion a floating point number is non-representable 
> in destination format e.g. a floating point value 3.4028235E10 post integer 
> conversion will overflow the value range of integer primitive type, hence a 
> -0.0 value or 0x80000000 is returned here. Similarly for +/- NaN and  +/-Inf 
> post conversion value returns is -0.0.  All these cases i.e. post conversion 
> non-representable floating point values and NaN/Inf values are handled in a 
> special manner where algorithm first performs an unordered comparison b/w 
> original source value and returns a 0 in case of  NaN, this weeds out the NaN 
> case and for rest of the special values we check the MSB bit of the source 
> and either return an Integer.MAX_VALUE for +ve numbers or a Integer.MIN_VALUE 
> to adhere to the semantics of Math.round API.
> 
> Existing tests were enhanced to cover various special cases (NaN/Inf/+ve/-ve 
> value/values which may be inexact after adding 0.5/ values which post 
> conversion overflow integer value range).

@jatin-bhateja The patch looks good to me.

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

PR: https://git.openjdk.java.net/jdk/pull/7094

Reply via email to