Vincent Lefevre <[EMAIL PROTECTED]> writes: > On 2005-05-31 22:11:36 +0200, Andreas Schwab wrote: >> Vincent Lefevre <[EMAIL PROTECTED]> writes: >> > On 2005-05-31 21:16:19 +0200, Andreas Schwab wrote: >> >> Vincent Lefevre <[EMAIL PROTECTED]> writes: >> >> > The "long double" type is required, but it is not required to be >> >> > extended precision. >> >> >> >> But it can be. >> > >> > So what? >> >> You can take advantage of it if it exists (which you can find out about >> portably). But not if your compiler has crippled it. > > You're wrong. If it is written in a portable way, the program will > still work if the processor rounds in double precision.
You are mistaken. #include <assert.h> #include <float.h> long double one = 1.0; long double one_plus_eps; int main (void) { long double one_plus_eps; one_plus_eps = one + LDBL_EPSILON; assert (one != one_plus_eps); return 0; } Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux Products GmbH, Maxfeldstra�e 5, 90409 N�rnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."