[R] exactly representable numbers
Sundar Dorai-Raj
sundar.dorai-raj at pdf.com
Mon Sep 11 11:50:15 CEST 2006
Robin Hankin said the following on 9/11/2006 3:52 AM:
> Hi
>
> Given a real number x, I want to know how accurately R can represent
> numbers near x.
>
> In particular, I want to know the infinum of exactly representable
> numbers greater than x, and the supremum of exactly representable
> numbers
> less than x. And then the interesting thing is the difference
> between these two.
>
>
> I have a little function that does some of this:
>
>
> f <- function(x,FAC=1.1){
> delta <- x
> while(x+delta > x){
> delta <- delta/FAC
> }
> return(delta*FAC)
> }
>
> But this can't be optimal.
>
> Is there a better way?
>
>
>
I believe this is what .Machine$double.eps is. From ?.Machine
double.eps: the smallest positive floating-point number 'x' such that
'1 + x != 1'. It equals 'base^ulp.digits' if either 'base'
is 2 or 'rounding' is 0; otherwise, it is '(base^ulp.digits)
/ 2'.
See also .Machine$double.neg.eps. Is this what you need?
--sundar
More information about the R-help
mailing list