[EMAIL PROTECTED] wrote:
> 
> In <[EMAIL PROTECTED]>, on 07/14/2001
>    at 11:09 AM, [EMAIL PROTECTED] said:
> 
> >Running natively under FreeBSD:
> 
> >x = 53.27850000
> >exp(x) = 137581029243568449912832.00000000
> 
> >Running natively under Linux:
> 
> >x = 53.278500
> >exp(x) = 137581029243568449912832.000000
> 
> >Running under FreeBSD in Linux emulation mode:
> 
> >x = 53.27850000
> >exp(x) = 137581029243567812378624.00000000
> 
> 
> My guess is difference between Linux emulation and "native" 's floating
> point formatting for printf.  With the number of significant digits
> you're invoking, small differences in handling low order bits can be
> significant.
> 

You could check this out by trying the following

double x,y;

x = 53.278500;
y = exp(x);
for(i=0;i<sizeof(double);i++)
  printf("%d ",((unsigned char*)y)[i]);
printf("\n");

or something like that.

-- 
Stephen Montgomery-Smith
[EMAIL PROTECTED]
http://www.math.missouri.edu/~stephen

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to