X-pop3-spooler: POP3MAIL 2.1.0 b 3 961213 -bs- Delivered-To: pcg AT goof DOT com Date: Mon, 16 Mar 1998 17:16:27 +0200 (EET) From: Tuukka Toivonen X-Sender: tuukkat AT stekt10 Reply-To: Tuukka Toivonen To: Marc Lehmann cc: beastium Subject: Re: paranoia & extra precision [was -fno-float-store in pgcc] In-Reply-To: <19980314022303.40050@cerebro.laendle> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: Marc Lehmann Status: RO X-Status: A Content-Length: 1531 Lines: 36 >> - If you want extended precision -> store values in memory with 10 bytes. >> You'll get always 80 bits precision. >> - If you want to use `double' format with some extra precision, >> just set high precision on and use doubles. >> - If you want IEEE-compliance, set FPU to low precision and everything is >> right again. > >but imho, the very very large speed penalty of this approach renders "this"? Which one of these? The first approach (using long doubles) is slow, but you wouldn't use that if you want IEEE-compatible floats/doubles anyway. The third approach (setting low precision to FPU CW) doesn't slow at all -- if you use the same precision with same type of data (double/float) all the time and the compiler knows it. Doing it like gcc with -ffloat-store, may be actually a good but slow way to get IEEE-compilance from Pentium. The problem is that it's difficult for C compiler to keep track what CW contains. >my c64 is as ieee compliant as the intel chips, then (it could also True. So that's why Intel can honestly say their chips are fully IEEE-compatible ;) After I thought about floats & IEEE compliance last weekend I noticed that "just setting the CW right" isn't at all so simple unlike I first thought. -- | Tuukka Toivonen [PGP public key | Homepage: http://www.ee.oulu.fi/~tuukkat/ available] | Try also finger -l tuukkat AT ee DOT oulu DOT fi | Studying information engineering at the University of Oulu +-----------------------------------------------------------