Re: Float problen running i386 inary on amd64

2007-11-17 Thread Bruce Evans
On Fri, 16 Nov 2007, Peter Jeremy wrote: I've Cc'd bde@ because this relates to the FPU initialisation - which he is the expert on. On Thu, Nov 15, 2007 at 12:54:29PM +, Pete French wrote: On Fri, Nov 02, 2007 at 10:04:48PM +, Pete French wrote: int main(int argc,

Re: Float problen running i386 inary on amd64

2007-11-16 Thread Peter Jeremy
On Sat, Nov 17, 2007 at 04:53:22AM +1100, Bruce Evans wrote: Behaviour like this should be expected on i386 but not on amd64. It gives the well-known property of the sin() function, that sin(x) != sin(x) for almost all x (!). It happens because expressions _may_ be evaluated in extra precision

Re: Float problen running i386 inary on amd64

2007-11-16 Thread Bruce Evans
On Sat, 17 Nov 2007, Peter Jeremy wrote: On Sat, Nov 17, 2007 at 04:53:22AM +1100, Bruce Evans wrote: Behaviour like this should be expected on i386 but not on amd64. It gives the well-known property of the sin() function, that sin(x) != sin(x) for almost all x (!). It happens because

Re: Float problen running i386 inary on amd64

2007-11-15 Thread Pete French
On Fri, Nov 02, 2007 at 10:04:48PM +, Pete French wrote: int main(int argc, char *argv[]) { if(atof(3.2) =3D=3D atof(3.200)) puts(They are equal); else puts(They are NOT equal!); return 0;

Re: Float problen running i386 inary on amd64

2007-11-15 Thread Peter Jeremy
I've Cc'd bde@ because this relates to the FPU initialisation - which he is the expert on. On Thu, Nov 15, 2007 at 12:54:29PM +, Pete French wrote: On Fri, Nov 02, 2007 at 10:04:48PM +, Pete French wrote: int main(int argc, char *argv[]) { if(atof(3.2) ==

Re: Float problen running i386 inary on amd64

2007-11-14 Thread Peter Jeremy
On Fri, Nov 02, 2007 at 10:04:48PM +, Pete French wrote: int main(int argc, char *argv[]) { if(atof(3.2) == atof(3.200)) puts(They are equal); else puts(They are NOT equal!); return

Float problen running i386 inary on amd64

2007-11-02 Thread Pete French
Hi, I have a very simple program: int main(int argc, char *argv[]) { if(atof(3.2) == atof(3.200)) puts(They are equal); else puts(They are NOT equal!); return 0; }

Re: Float problen running i386 inary on amd64

2007-11-02 Thread Miguel Lopes Santos Ramos
From: Pete French [EMAIL PROTECTED] Hi, I have a very simple program: int main(int argc, char *argv[]) { if(atof(3.2) == atof(3.200)) puts(They are equal); else puts(They are NOT equal!);