bug in modulus?

Dan Bishop danb_83 at yahoo.com
Sun Apr 23 21:48:55 EDT 2006


jantod at gmail.com wrote:
> Hmmm. I understand. I'd suggest that someone just drop a link from the
> Library reference manual as the divmod entry over there seems to
> contradict it.
>
> """
> divmod(a, b)
>
> Take two (non complex) numbers as arguments and return a pair of
> numbers consisting of their quotient and remainder when using long
> division. With mixed operand types, the rules for binary arithmetic
> operators apply. For plain and long integers, the result is the same as
> (a / b, a % b). For floating point numbers the result is (q, a % b),
> where q is usually math.floor(a / b) but may be 1 less than that. In
> any case q * b + a % b is very close to a, if a % b is non-zero it has
> the same sign as b, and 0 <= abs(a % b) < abs(b).
> """
>
> But maybe I'm reading it wrong. In any case what I wanted was simply a
> way to extract the angle from a complex number where the angle is
> between 0 and 2*pi. I think I'll just take the modulus twice.

If you absolutely insist on having the angle be less than 2*pi, you
could always do something like:

theta = min(theta, pi*2 - 2**(-50))




More information about the Python-list mailing list