Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/06/2010 at 16:50, xxxxxxxx wrote:
User Information: Cinema 4D Version: 11.5 Platform: Windows ; Language(s) : C++ ;
--------- Is it possible to determine if an index is odd or even?
~Shawn
On 07/06/2010 at 17:02, xxxxxxxx wrote:
Figured this out... ended up using ...
if (Modulo(i, 2) != 0)
On 08/06/2010 at 05:44, xxxxxxxx wrote:
Don't do that if you're handling Integers and high volume, because Modulo is a Real function.
Easier using the C++ modulo operator:
if (i%2) { }
Hope it helps!
Kabe
On 08/06/2010 at 05:57, xxxxxxxx wrote:
Please use LModulo() for integers.
cheers, Matthias
On 08/06/2010 at 09:06, xxxxxxxx wrote:
Anything wrong with the C++ operator?
On 08/06/2010 at 10:04, xxxxxxxx wrote:
Originally posted by xxxxxxxx Anything wrong with the C++ operator? Kabe
Originally posted by xxxxxxxx
Nothing wrong, in fact LModulo just wraps % with a special condition if a<0.
from c4d_tools.h
inline Real Modulo(Real a, Real b) { if (b==0.0) return 0.0; LONG n = (LONG) (a/b); a -= n*b; if (a<0.0) a+= b; return a; } inline LONG LModulo(LONG a, LONG b) { if (!b) return 0; if (a >= 0) return a%b; a -= (a/b)*b; if (a<0) a+= b; return a; } inline LLONG LModulo(LLONG a, LLONG b) { if (!b) return 0; if (a >= 0) return a%b; a -= (a/b)*b; if (a<0) a+= b; return a; }