In JavaScript, C and C++,
and let the magic of modular arithmetic do its work. This works for unsigned integers too.
x % y will return a negative number if x is negative. This isn't what you want if you're trying to wrap around an array index (for example). Fortunately there's a nice solution. Instead of writing something like this: int prev(int x, int N) {
int prevX = (x - 1) % N;
if (prevX < 0)
prevX = N - 1;
return prevX;
}
you can simply write:
int prev(int x, int N) {
return (x + N - 1) % N;
}
and let the magic of modular arithmetic do its work. This works for unsigned integers too.
Comments
Post a Comment