From murdoch at stats.uwo.ca  Tue Feb 12 15:49:52 2008
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Tue, 12 Feb 2008 09:49:52 -0500
Subject: [Rd] 0.45<0.45 = TRUE (PR#10744)
In-Reply-To: <20080212143509.6B40F282EF48@mail.pubhealth.ku.dk>
References: <20080212143509.6B40F282EF48@mail.pubhealth.ku.dk>
Message-ID: <47B1B210.6080306@stats.uwo.ca>

On 2/12/2008 9:35 AM, labonne at st-pee.inra.fr wrote:
> Dear developer,
> 
> in my version of R (2.4.0) as weel as in a more recent version (2.6.0) 
> on different computers, we found this problem :

This is not a bug, it's a limitation of finite precision arithmetic, and 
it's FAQ 7.31.

Duncan Murdoch


> 
>  > a<-(58/40-1)
>  > a
> [1] 0.45
>  > b<-(18/40)
>  > b
> [1] 0.45
>  > a<b
> [1] TRUE
>  > a==b
> [1] FALSE
>  >
> Something seems wrong here.
> but if we do
> 
>  > c<-0.45
>  > d<-0.45
>  > c<d
> [1] FALSE
> 
> then everything is ok.
> If we use 59 and 19 instead of 58 and 18, the error is not here anymore. 
> I guess there is a problem with the envelop object for the comparisons 
> between different types in R (as in JAVA maybe) but I am not familiar 
> with the R language.
> I hope this helps, and that this is a real bug, if not, I am sorry to 
> have bothered you.
> 
> Cheers!
> 
> Jacques.
> 
>



[Rd] 0.45<0.45 = TRUE (PR#10744)
Duncan Murdoch