Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!tut.cis.ohio-state.edu!ucbvax!DBNUAMA1.BITNET!VBRANDT From: VBRANDT@DBNUAMA1.BITNET Newsgroups: comp.sys.atari.st Subject: Re: CO-Processors---(Atari!) ARE NICE PEOPLE! Message-ID: <9001150805.AA15851@ucbvax.Berkeley.EDU> Date: 15 Jan 90 08:05:36 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 30 X-Unparsable-Date: Mon, 15 Jan 90 00:33:12 SET Hello all, In Info-Atari16 Digest #40, mcsun!ukc!newcastle.ac.uk!tadhg!chris@uunet.uu.net (Chris Forker - Nav Arch-) said: >You mention that the Alcyon C compiler uses the 68881 if it is there, >otherwise the software emulation. How does it manage this. With >Prospero's compilers, ( I use Fortran & Pascal ), the result will be a >bus error on machines with no 68881. Does TOS1.4 have some trap that I >can call from Fortan or Pascal which will indicate the presence of a >68881 ?? No, there is no such trap. The correct way to test for a 68881 is to redirect the error handler, then try to reset the 68881. If your program continues normally, there is a 68881 present. If the error handler is called, there is none. Then all you have to do is to reset the error handler. The Alcyon compiler does not do any 68881 checking. There simply is a library provided that replaces the original software floating-point library. If you need software that checks for an 68881 and runs unchanged on systems with AND without FPU, check out Turbo C/ST by Borland. It has that feature built in, without the need to buy additional libraries (such as the Prospero lib, which costs about as much as the entire Turbo C !!!) ---------------------------------------------------------------------------- Bitnet: VBRANDT@DBNUAMA1 (will go away some day ...) Volker A. Brandt UNM409@DBNRHRZ1 (alternative) Angewandte Mathematik UUCP: ...!unido!DBNUAMA1.bitnet!vbrandt (Bonn, West Germany) ARPAnet: VBRANDT%DBNUAMA1.BITNET@CUNYVM.CUNY.EDU