[comp.sys.amiga.tech] Manx 5.0 stuff and Re: 3D-graphics

aduncan@rhea.trl.oz.au (Allan Duncan) (12/11/89)

From article <18765@watdragon.waterloo.edu>, by bmacintyre@watdragon.waterloo.edu (Blair MacIntyre):

> 	The FFP library isn't precise enough.  Somewhere in there, 
> 	 I lost enough precision to screw it up.
> 
> 	How do I know this?
> 
> 	I recompiled with the IEEE library and it works just fine.

There is a bug in the Manx FFP stuff - the modf function gets it wrong
because the Manx stub fails to swap two registers before calling the FFP
SUB, causing an error in the remainder.  I notified Manx of this a
couple of years back (before 3.6) and got a letter back saying that the
bug was in the FFP!  Either the IEEE library does its subtraction the
other way round and there is an error in the Motorola docos on FFP, or
it's a Manx bug, 'cause I KNOW there is a missing EXG d0,d1 (or
whatever the registers were) in the FFP.  All the other stubs have it,
that's how I found it!  It wasn't fixed in 3.6, so are there any 4.9
beta testers out there that can check it?
Modf is used by MOST of the other routines, through floor and ceil, as
well as explicitly, so you can see that something that assumes precision
precursors is going to get crossed up real soon.


Allan Duncan	ACSnet	aduncan@rhea.trl.oz
		ARPA	aduncan%rhea.trl.oz.au@uunet.uu.net
		UUCP	{uunet,hplabs,ukc}!munnari!rhea.trl.oz.au!aduncan
Telecom Research Labs, PO Box 249, Clayton, Victoria, 3168, Australia.