Modulo Bug?
Thiez
thiezz at gmail.com
Sat Aug 11 11:54:07 PDT 2012
On Saturday, 11 August 2012 at 17:15:21 UTC, Norbert Nemec wrote:
> On 11.08.2012 18:13, bearophile wrote:
>> David:
>>
>>> Thanks! I thought modulo should alawys yield the same ...
>>> seems like I
>>> was wrong ;)
>>
>> It's C design that's wrong.
>
> And it's the processor design that makes it inefficient to
> correct it nowadays.
>
> Python's definition of modulo is far more useful than C's.
> Implemented in machine code, however, it takes several
> additional commands because the integer division is hardwired
> to the C definition. I guess that hardware integer division in
> processors became popular only when C was already widely in use.
A few extra instructions (a CMOV followed by ADD should suffice,
yes?) seems like a small price to pay if it can prevent bugs. Why
hasn't the Python-modulo been made the default back when D was
designed? The ever-so-slightly more efficient C-modulo could be
provided in a library. Of course it's way too late to change it
now...
More information about the Digitalmars-d
mailing list