From: utzoo!decvax!harpo!eagle!mhuxt!mhuxa!mhb5c!mjs Newsgroups: net.unix-wizards Title: C Language Specification Article-I.D.: mhb5c.1009 Posted: Wed Sep 8 20:52:06 1982 Received: Thu Sep 9 05:17:07 1982 References: sri-unix.3010 If you wish to do large quantities of single-precision floating point calculations, then I suspect that FORTRAN is the language for you! If you wish to use C, however, the specification of what you cite as a conversion inefficiency follows (quoted from `The C Programming Language' by Kernighan & Ritchie, bottom of page 184, section 6.6 of the appendix): A great many operators cause conversions and yield result types in a similar way. This pattern will be called the ``usual arithmetic conversions.'' First, any operators of type `char' or `short' are converted to `int,' and any of type `float' are converted to `double.' Then, if either operand is `double,' the other is converted to `double,' and that is the type of the result. The passage goes on to detail the conversions for the integral data types. Please note that that appendix DEFINES the C language. What you suggest in terms of `fixing the compiler' amount to changing the semantics of the language. Martin J. Shannon, Jr. BTL MH (201) 582-3199