Marko Rauhamaa writes:

> Jussi Piitulainen writes:
>
>> Steven D'Aprano writes:
>>
>>> So my guess is that the fastest, and certainly the most obvious, way
>>> to get the same integer division behaviour as C99 would be:
>>>
>>> def intdiv(a, b):
>>>     # C99 style integer division with truncation towards zero.
>>>     n = a//b
>>>     if (a < 0) != (b < 0):
>>>         n += 1
>>>     return n
>>
>> You should only increment if there is a (non-zero) remainder.
>
> Maybe:
>
>    def intdiv(a, b):
>        return a // b if (a < 0) == (b < 0) else -(-a // b)

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

Reply via email to