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