Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!rlgvax!guy From: guy@rlgvax.UUCP (Guy Harris) Newsgroups: net.lang.c Subject: Re: Re: derived types Message-ID: <412@rlgvax.UUCP> Date: Fri, 1-Feb-85 17:39:18 EST Article-I.D.: rlgvax.412 Posted: Fri Feb 1 17:39:18 1985 Date-Received: Sun, 3-Feb-85 09:42:02 EST References: <7479@brl-tgr.ARPA> <37@gitpyr.UUCP> <6873@watdaisy.UUCP> <53@gitpyr.UUCP> <383@lll-crg.ARPA> Organization: CCI Office Systems Group, Reston, VA Lines: 24 > > The CDC 170 series doesn't support reals larger than 60-bits in the hardware. > > It can be done, but only through software. C is defined to calculate all > > real numbers as doubles. This means that there'll be a lot of wasted time > > spent doing something the machine can't do with it's native instruction set. > > This stupidity, due to how the hardware on the FP11 worked (do you guys out > there even remember the PDP11?), ended up in the language definition. No > sensible compiler writer would kill floating point performance like these > days. It didn't even *have* to be done for the PDP-11; DEC's Fortran-IV Plus compiler quite happily generated all the "setf"/"setd" instructions needed to do single-precision arithmetic. However, it may not have been worthwhile to go through the hair involved for doing that in C. > Its time we removed this stupidity from the language definition proper and > turned the compatibility problem over to lint! The current ANSI Standard C draft, I believe, leaves it up to the compiler writer to decide whether to do floating point arithmetic in single or double precision. Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy