Promotion rules ... why no float?
Sai via Digitalmars-d
digitalmars-d at puremagic.com
Wed Sep 7 20:41:12 PDT 2016
On Wednesday, 7 September 2016 at 16:04:05 UTC, Nick Treleaven
wrote:
> On Wednesday, 7 September 2016 at 15:15:03 UTC, John Colvin
> wrote:
>> python3 uses / for floating point division and // for integer.
>> I really like the distinction, although I would prefer if /
>> was disallowed on integer operands entirely, i.e. 3/2.0 is ok
>> but 3/2 is not, that would be an error and you'd have to do 3
>> // 2
>
> Personally I agree. A more nuanced solution is filed here:
> https://issues.dlang.org/show_bug.cgi?id=12452
>
> At the end of the description, Don is quoted:
>
>> It is indeed a common floating-point bug.
>> ...
WOW, I didn't know python 3 fixed this issue, and I just found
out that python 2 can also do it by importing from future.
I have been using python 2.7 at my work for several years without
knowing this and ran into this issue so many times, stupid me.
Thanks for the info, I will update my python code asap. (In my
defense, I am not a full time programmer).
In D though, all solutions seem to add noise at the usage site,
template solution with alias this might be the cleanest to
retrofit all integers with floating point division.
- Sai
More information about the Digitalmars-d
mailing list