public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Sam Lantinga <slouken@devolution.com>
To: egcs@egcs.cygnus.com
Cc: highlander@lokigames.com, slouken@devolution.com,
	dvenckus@activision.com
Subject: Re: Rounding errors using doubles?
Date: Thu, 18 Mar 1999 16:45:00 -0000	[thread overview]
Message-ID: <E10NnPU-0006Cc-00@roboto.devolution.com> (raw)

> On Thu, Mar 18, 1999 at 03:41:32PM -0800, Sam Lantinga wrote:
> > On a Pentium II, the following code gives an incorrect result when using
> > doubles, but a correct result when using floats:

> I think this is normal.  You should probably learn why at
> http://www.linuxsupportline.com/~billm/ .

I have to thank everyone here on this list for your responsiveness.
The problem was caused by unexpected values in code using doubles
that was ported from Windows.  Apparently, by default, Windows uses 
53 bits of precision for it's double operations.  Linux uses 64 bits.

Since the code relies on the exact behavior of doubles quite extensively,
we are setting the precision of the FPU to 53 bits using the fldcw
instruction. :)

BTW, does anyone know what precision is used on the PPC and Alpha
architectures?

Thanks for your help!

	-Sam Lantinga				(slouken@devolution.com)

Lead Programmer, Loki Entertainment Software
--
Author of Simple DirectMedia Layer -
	http://www.devolution.com/~slouken/SDL/
--

WARNING: multiple messages have this Message-ID
From: Sam Lantinga <slouken@devolution.com>
To: egcs@egcs.cygnus.com
Cc: highlander@lokigames.com, slouken@devolution.com,
	dvenckus@activision.com
Subject: Re: Rounding errors using doubles?
Date: Wed, 31 Mar 1999 23:46:00 -0000	[thread overview]
Message-ID: <E10NnPU-0006Cc-00@roboto.devolution.com> (raw)
Message-ID: <19990331234600.bT0JmvfpKd74d1LL8DfuMMNCa8z8Y0M-iqkpwvWOpk8@z> (raw)

> On Thu, Mar 18, 1999 at 03:41:32PM -0800, Sam Lantinga wrote:
> > On a Pentium II, the following code gives an incorrect result when using
> > doubles, but a correct result when using floats:

> I think this is normal.  You should probably learn why at
> http://www.linuxsupportline.com/~billm/ .

I have to thank everyone here on this list for your responsiveness.
The problem was caused by unexpected values in code using doubles
that was ported from Windows.  Apparently, by default, Windows uses 
53 bits of precision for it's double operations.  Linux uses 64 bits.

Since the code relies on the exact behavior of doubles quite extensively,
we are setting the precision of the FPU to 53 bits using the fldcw
instruction. :)

BTW, does anyone know what precision is used on the PPC and Alpha
architectures?

Thanks for your help!

	-Sam Lantinga				(slouken@devolution.com)

Lead Programmer, Loki Entertainment Software
--
Author of Simple DirectMedia Layer -
	http://www.devolution.com/~slouken/SDL/
--

             reply	other threads:[~1999-03-18 16:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-18 16:45 Sam Lantinga [this message]
1999-03-18 16:54 ` Dima Volodin
1999-03-31 23:46   ` Dima Volodin
     [not found] ` < E10NnPU-0006Cc-00@roboto.devolution.com >
1999-03-18 16:57   ` David Edelsohn
1999-03-31 23:46     ` David Edelsohn
1999-03-31 23:46 ` Sam Lantinga
  -- strict thread matches above, loose matches on Subject: below --
1999-03-19  9:08 Sam Lantinga
     [not found] ` < E10O2lP-0006t2-00@roboto.devolution.com >
1999-03-19  9:43   ` craig
1999-03-31 23:46     ` craig
1999-03-31 23:46 ` Sam Lantinga
1999-03-18 17:43 Ross Smith
     [not found] ` < 002d01be71aa$30d420e0$a8a11dcb@animal.ihug.co.nz >
1999-03-19  6:36   ` craig
     [not found]     ` < 19990319142042.16973.qmail@deer >
1999-03-19  6:36       ` craig
1999-03-31 23:46         ` craig
1999-03-31 23:46     ` craig
1999-03-31 23:46 ` Ross Smith
1999-03-18 15:41 Sam Lantinga
     [not found] ` < E10NmPs-0005mx-00@roboto.devolution.com >
1999-03-18 15:51   ` Sylvain Pion
1999-03-31 23:46     ` Sylvain Pion
1999-03-18 16:12   ` Joe Buck
     [not found]     ` < 199903190011.QAA11085@atrus.synopsys.com >
1999-03-18 16:25       ` Joe Buck
1999-03-31 23:46         ` Joe Buck
1999-03-31 23:46     ` Joe Buck
1999-03-18 15:54 ` Dima Volodin
1999-03-31 23:46   ` Dima Volodin
1999-03-31 23:46 ` Sam Lantinga

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E10NnPU-0006Cc-00@roboto.devolution.com \
    --to=slouken@devolution.com \
    --cc=dvenckus@activision.com \
    --cc=egcs@egcs.cygnus.com \
    --cc=highlander@lokigames.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).