On 2010-02-22 05:23:39 +0100, Vincent Lefevre wrote: > On 2010-02-22 02:58:19 +0000, Joseph S. Myers wrote: > > For example, N1421 (Markham minutes) has a discussion that's clearly > > presuming that a conditional > > > > #if defined(__STDC_IEC_559__) && (FLT_EVAL_METHOD == 1) > > > > may hold. > > Well, this is a bit unclear. I think this is OK, as long as rounding > of a float operation is done to single precision (the exponent range > may still be the one of the double format, in which case the value of > FLT_EVAL_METHOD should be 1 as above). IEEE 754-1985 says: [...]
Hmm... This doesn't seem to be allowed by the C language, though, as C99 says for FLT_EVAL_METHOD == 1: evaluate operations and constants of type float and double to the range and precision of the double type, ^^^^^^^^^^^^^ So, this means that the precision of the double type should be single precision in this case, but this is not allowed. -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)