Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 8/28/84; site lll-crg.ARPA Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!whuxl!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!hao!seismo!ut-sally!ut-ngp!lll-crg!brooks From: brooks@lll-crg.ARPA (Eugene D. Brooks III) Newsgroups: net.lang.c Subject: Re: Re: derived types Message-ID: <383@lll-crg.ARPA> Date: Thu, 31-Jan-85 12:15:36 EST Article-I.D.: lll-crg.383 Posted: Thu Jan 31 12:15:36 1985 Date-Received: Wed, 6-Feb-85 02:26:57 EST References: <7479@brl-tgr.ARPA> <37@gitpyr.UUCP> <6873@watdaisy.UUCP> <53@gitpyr.UUCP> Organization: Lawrence Livermore Labs, CRG group Lines: 15 > 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. Many C compilers either don't conform to this or have a flag to cause non-conformity. Unfortunately my Vax compiler at least still passes floats on the stack as doubles for the sake of not breaking printf. I could even do without that. Its time we removed this stupidity from the language definition proper and turned the compatibility problem over to lint!