handling T.min the right way

Bill Baxter dnewsgroup at billbaxter.com
Tue Mar 20 23:10:29 PDT 2007


Bill Baxter wrote:
> James Dennett wrote:
>> Walter Bright wrote:
>>> 0ffh wrote:
>>>> Don Clugston wrote:
>>>>> completely different. (For example, I don't know why x++ is legal for
>>>>> floating point types; I think it's just a newbie trap; you have no
>>>>> guarantee that x++ is different to x).
>>>> Nope, not at all.
>>>> Standard C defines that after "x++" x is incremented by one, exactly -
>>>> *even for fp types* !
>>> For floating point types, if x happens to be +-infinity then x+1==x.
>>
>> Or, most likely, even if x happens to be 1E100.  I've not
>> had the pleasure of working on hardware which supported
>> floating point accurate enough to distinguish 1E100 from
>> 1+1E100.
>>
>> -- James
>>
> 
> The cutoff is basically 2^{mantissa bits+1}.
> With floats:  2^23 + 1 == 2^23

doh! typo -- float has 23 mantissa bits so that should be 24.

> With double:  2^53 + 1 == 2^53
> 
> So it happens for values much less than 1e100.  More like 1e7 and 1e16.

--bb



More information about the Digitalmars-d mailing list