Knocking off two more vestiges of legacy switch

Joe Darcy joe.darcy at oracle.com
Tue Sep 13 17:07:45 UTC 2022


On 9/13/2022 9:55 AM, Brian Goetz wrote:
>
>> It is common for math library methods to have a preamble to screen 
>> out special values (infinities, NaN, 0.0, 1.0, etc.).
>>
>> This would be a reasonable use of a switch on float/double switch.
>>
>>
>
> Which raises some questions (again) of the semantics of constant 
> patterns for exotic floating point values, especially (again) negative 
> zero.


In a switching context, I think there is a stronger case for 
distinguishing between +0.0 and -0.0. The operational semantics I'd 
recommend are to desugar, say a float switch, to an int switch on the 
Float.floatToIntBits mapping of the float case labels. 
Float.floatToIntBits, as opposed to Float.floatToRawIntBits, normalized 
all NaN representations to a single value.

-Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-spec-observers/attachments/20220913/35bf4f90/attachment-0002.htm>


More information about the amber-spec-observers mailing list