I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.
ROUNDUP(9) Kernel Developer's Manual ROUNDUP(9) NAME roundup -- macros for counting and rounding SYNOPSIS #include <sys/param.h> size howmany(x, size); size roundup(x, size); size rounddown(x, size); size roundup2(x, size); int powerof2(x); DESCRIPTION The roundup() and rounddown() macros return an integer from rounding x up and down, respectively, to the next size. The howmany() macro in turn reveals how many times size fits into x, rounding the residual up. The roundup2() macro also rounds up, but with the assumption that size is a power of two. If x is indeed a power of two, powerof2() return 1. RETURN VALUES The return value is an integer from the respective operation. If x is 0, all macros except powerof2() return 0. The behavior is undefined if size is 0. EXAMPLES The following example rounds the variable rx to a 32-bit boundary: uint16_t rx; ... rx = roundup2(rx, sizeof(uint32_t)); SEE ALSO ilog2(3), param(3), imax(9) CAVEATS All described macros make no assumptions about the type of the parameters. These are implicitly assumed to be unsigned integers. NetBSD 7.1.2 June 1, 2011 NetBSD 7.1.2