On Fri, 6 Feb 2009, Jonathan Wilkes wrote:

But I just noticed while scrolling in a number box that they aren't the same when the dividend is negative. In the source for [div], I see this before doing the division: if (n1 < 0) n1 -= (n2-1); I feel like I'm missing something obvious. Why does [div] behave this way?

So that (x div y)*y + (x mod y) = x

So div is complementary to mod.

Also, int(x / y)*y + (x % y) = x

So / with i is complementary to %.

And div,mod behave the way that they do so that
  (x+y) mod y =  x mod y
  (x+y) div y = (x div y) + 1

Whereas div with i and % do not, when x and x+y have different signs.

 _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to