A division problem

Asman01 jckj33 at gmail.com
Mon Mar 24 13:54:06 PDT 2014


On Monday, 24 March 2014 at 03:55:41 UTC, bearophile wrote:
> This kind of code sometimes is wrong, because you forget to 
> cast x to double before the division and you lose precision 
> (but here the compiler knows that the result of the division 
> will go inside a double):
>
>
> void main() {
>     int x = 15;
>     double y = x / 10;
> }
>
> The cause is that unfortunately in D the integer division uses 
> the same operator as the FP division. In Python there is the / 
> and // operators. In OcaML there are the / and /., in Delphi 
> there are the / and div operators, in Ada the two operands need 
> to be of the same type.
>
> Seasoned C/C++/D programmers watch for the types every time 
> they perform a division, to avoid that trap. But less 
> experienced programmers introduce bugs with divisions. Can D 
> help the programmer reduce the frequency of similar bugs? And 
> do we want to?
>
> Bye,
> bearophile

I think I've see a thread very similar to this... well, most 
willn't like but a possible solution to help programmer reduce 
this is do what python did: a new operator.


More information about the Digitalmars-d mailing list