add unsigned clamp and wrap

This commit is contained in:
Chris Danford
2005-02-14 01:30:05 +00:00
parent c020f54c3c
commit 8073ebaac5
+12
View File
@@ -43,6 +43,12 @@ inline bool CLAMP(int &x, int l, int h)
else if (x < l) { x = l; return true; } else if (x < l) { x = l; return true; }
return false; return false;
} }
inline bool CLAMP(unsigned &x, unsigned l, unsigned h)
{
if (x > h) { x = h; return true; }
else if (x < l) { x = l; return true; }
return false;
}
inline bool CLAMP(float &x, float l, float h) inline bool CLAMP(float &x, float l, float h)
{ {
if (x > h) { x = h; return true; } if (x > h) { x = h; return true; }
@@ -56,6 +62,12 @@ inline void wrap( int &x, int n)
x += ((-x/n)+1)*n; x += ((-x/n)+1)*n;
x %= n; x %= n;
} }
inline void wrap(unsigned &x, unsigned n)
{
if (x<0)
x += ((-x/n)+1)*n;
x %= n;
}
inline void wrap(float &x, float n) inline void wrap(float &x, float n)
{ {
if (x<0) if (x<0)