integral to floating point conversion

Simen Kjaeraas via Digitalmars-d digitalmars-d at puremagic.com
Sat Jul 2 14:48:12 PDT 2016


On Saturday, 2 July 2016 at 20:49:27 UTC, Andrei Alexandrescu 
wrote:
> On 7/2/16 4:30 PM, Walter Bright wrote:
>> On 7/2/2016 1:17 PM, Andrei Alexandrescu wrote:
>>> So what's the fastest way to figure that an integral is 
>>> convertible to a
>>> floating point value precisely (i.e. no other integral 
>>> converts to the
>>> same
>>> floating point value)? Thanks! -- Andrei
>>
>> Test that its absolute value is <= the largest unsigned value
>> represented by the float's mantissa bits.
>
> What is the largest unsigned value represented by the float's 
> mantissa bits? I recall there is a constant somewhere for it. 
> -- Andrei

2uL^^float.mant_dig

And the same for double. For real (on x86), mant_dig is 64, so it 
can represent any ulong precisely.

--
   Simen


More information about the Digitalmars-d mailing list