Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #35823
| From | Jake Jarvis <pig_in_shoes@yahoo.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: double == double |
| Date | 2016-10-19 16:36 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <nu80cv$un8$1@dont-email.me> (permalink) |
| References | <double-20161012130409@ram.dialup.fu-berlin.de> <nu7quv$aur$1@dont-email.me> <nu7sl4$h0a$1@dont-email.me> <nu7vq8$qnj$3@jstuckle.eternal-september.org> |
Am 19.10.2016 um 16:26 schrieb Jerry Stuckle:
> On 10/19/2016 9:32 AM, Eric Sosman wrote:
>> On 10/19/2016 9:03 AM, Mike Amling wrote:
>>> On 10/12/16 7:15 AM, Stefan Ram wrote:
>>>> Sometimes it is taught that it makes no sense to compare
>>>> two double values with »==«.
>>>>
>>>> But what about this function?
>>>>
>>>> public static double max( final double a, final double b)
>>>> { return
>>>> a == 0.0 && b == 0.0 && java.lang.Double.doubleToRawLongBits( a )
>>>> == Double.doubleToRawLongBits( -0.0d )? b : a >= b ? a : b; }
>>>>
>>>> which tries to return positive zero if one argument is
>>>> positive zero and the other one negative zero?
>>>>
>>>> It seems that there are special cases when a comparison
>>>> of double values with »==« is appropriate. I have observed
>>>> that this is usually the case when comparing with »0.0« -
>>>> another example would be avoiding to divide by 0.0.
>>>
>>> If a==0.0 and b==0.0, there's no need to test whether either is -0.0.
>>> The function could be simplified to
>>>
>>> public static double max(final double a, final double b) {
>>> return a==0.0 && b==0.0 ? 0.0 : (a>=b ? a : b);
>>> }
>>
>> This would return +0.0 for max(-0.0, -0.0).
>>
>
> PMJI, but how do you figure? a==0.0 && b==0.0 would be false
No.
, so it
> would evaluate a>=b. Since both are -0.0, it would return that value.
>
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: double == double Mike Amling <mamling@chaff.us> - 2016-10-19 08:03 -0500
Re: double == double Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-10-19 09:32 -0400
Re: double == double Jerry Stuckle <jstucklex@attglobal.net> - 2016-10-19 10:26 -0400
Re: double == double Jake Jarvis <pig_in_shoes@yahoo.com> - 2016-10-19 16:36 +0200
Re: double == double Jerry Stuckle <jstucklex@attglobal.net> - 2016-10-19 16:50 -0400
Re: double == double Jake Jarvis <pig_in_shoes@yahoo.com> - 2016-10-20 01:08 +0200
Re: double == double Arne Vajhøj <arne@vajhoej.dk> - 2016-10-19 21:16 -0400
Re: double == double Arne Vajhøj <arne@vajhoej.dk> - 2016-10-19 21:19 -0400
Re: double == double Jerry Stuckle <jstucklex@attglobal.net> - 2016-10-19 21:47 -0400
Re: double == double Arne Vajhøj <arne@vajhoej.dk> - 2016-10-19 21:52 -0400
Re: double == double Michael Jung <miju@golem.phantasia.org> - 2016-10-19 19:39 +0200
Re: double == double Mike Amling <mamling@chaff.us> - 2016-10-22 07:15 -0500
csiph-web