u_math: Add align function npot alignments

This commit is contained in:
Jakob Bornecrantz
2010-06-13 16:07:49 +02:00
parent 3a3e80ff96
commit ed3d17e14c
+14
View File
@@ -567,12 +567,26 @@ util_bswap16(uint16_t n)
#define MAX3( A, B, C ) MAX2( MAX2( A, B ), C )
/**
* Align a value, only works pot alignemnts.
*/
static INLINE int
align(int value, int alignment)
{
return (value + alignment - 1) & ~(alignment - 1);
}
/**
* Works like align but on npot alignments.
*/
static INLINE size_t
util_align_npot(size_t value, size_t alignment)
{
if (value % alignment)
return value + (alignment - (value % alignment));
return value;
}
static INLINE unsigned
u_minify(unsigned value, unsigned levels)
{