# Re: [R] exactly representable numbers

From: Robin Hankin <r.hankin_at_noc.soton.ac.uk>
Date: Mon 11 Sep 2006 - 10:15:04 GMT

Hi Sundar

thanks for this. But I didn't make it clear that I'm interested in extreme numbers
such as 1e300 and 1e-300.

Then

> f(1e300)
 7.911257e+283

is different from

1e300*.Machine\$double.eps

[I'm interested in the gap between successive different exactly representable
numbers right across the IEEE range]

rksh

On 11 Sep 2006, at 10:50, Sundar Dorai-Raj wrote:

>
>
> 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 infimum 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'.
>
>
> --sundar

```--
Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
tel  023-8059-7743

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help