On Thu, Sep 18, 2014 at 2:33 AM, cool-RR <ram.rac...@gmail.com> wrote:
> On Wednesday, September 17, 2014 6:30:04 PM UTC+3, Chris Angelico wrote:
>> On Thu, Sep 18, 2014 at 1:16 AM, cool-RR <ram.rac...@gmail.com> wrote:
>> > I didn't ask for the modulo, I agree it should remain NaN. I'm talking 
>> > about the floor division.
>>
>> Invariant: div*y + mod == x.
>> If mod is NaN, there is no possible value for div that will make the
>> invariant true, ergo it too has to be NaN.
>> ChrisA
>
> Chris, why is this invariant `div*y + mod == x` so important? Maybe it's more 
> important to return a mathematically reasonable result for the the 
> floor-division result than to maintain this invariant?

It's important because it's documented :) You can expect whatever you
like, but if something's a documented invariant, that's more important
than your expectations.

Now, why was divmod documented as returning values adhering to that
invariant? You'd have to ask the developers, I've no idea.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to