[Gridflow-cvs] [svn] commit: r3761 - /trunk/gridflow.h

gridflow-cvs at artengine.ca gridflow-cvs at artengine.ca
Tue Jun 3 16:44:51 EDT 2008

Author: matju
Date: Tue Jun  3 16:44:51 2008
New Revision: 3761

fix the modulo function (reverting back to old version)


Modified: trunk/gridflow.h
--- trunk/gridflow.h (original)
+++ trunk/gridflow.h Tue Jun  3 16:44:51 2008
@@ -73,7 +73,7 @@
 // a remainder function such that div2(a,b)*b+mod(a,b) = a and for which mod(a,b) is in [0;b) or (b;0].
 // in contrast to C-language builtin a%b, this one has uniform behaviour around zero,
 // that is, the same as around any other whole number.
-static inline int mod(int a, int b) {return a<0 ? b-((-a)%b) : a%b;}
+static inline int mod(int a, int b) {int c=a%b; c+=b&-(c&&(a<0)^(b<0)); return c;}
 // counterpart of mod(a,b), just like a/b and a%b are counterparts
 static inline int div2(int a, int b) {return (a/b)-((a<0)&&!!(a%b));}

More information about the Gridflow-cvs mailing list