[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