Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!harpo!decvax!mcnc!ecsvax!bet From: bet@ecsvax.UUCP Newsgroups: net.lang.c Subject: Re: i *= f *vs* i = i * f (a partial retraction) Message-ID: <2349@ecsvax.UUCP> Date: Fri, 20-Apr-84 09:05:25 EST Article-I.D.: ecsvax.2349 Posted: Fri Apr 20 09:05:25 1984 Date-Received: Sat, 21-Apr-84 02:20:40 EST Lines: 24 Foot in mouth syndrome strikes again... I seem to have been incorrect in stating that "i *= f" was correctly handled by simply converting the float to int and multiplying. A number of people have posted and mailed me notes to the contrary, some citing Ritchie as agreeing that this is a bug. The only really applicable item I can find in the BOOK is: The behavior of an expression of the form E1 op= E2 may be inferred by taking it as equivalent to E1 = E1 op (E2); however, E1 is evaluated only once. I confess to not seeing this as incontrovertably mandating one interpretation over another; vis-a-vis type conversion, the first clause suggests that conversion to float for the operation and back is necessary; the second expresses the basis for my previous stance: that assignment operators provide a syntax for specifying two-operand instructions, for purposes of efficiency. I still prefer the latter view; and the only really tangible evidence I have seen offered that it is wrong is the reference to the opinion of a demigod. C is ambiguously specified; I think this is just another example. Lets hear it for semantic specification languages!!! Unrepentant as ever, Bennett Todd ...{decvax,ihnp4,akgua}!mcnc!ecsvax!bet