powerof2(3) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | STANDARDS | CAVEATS | SEE ALSO

powerof2(3)             Library Functions Manual             powerof2(3)

NAME         top

       powerof2 - test if a value is a power of 2

LIBRARY         top

       Standard C library (libc)

SYNOPSIS         top

       #include <sys/param.h>

       int powerof2(x);

DESCRIPTION         top

       This macro returns true if x is a power of 2, and false
       otherwise.

       0 is considered a power of 2.  This can make sense considering
       wrapping of unsigned integers, and has interesting properties.

RETURN VALUE         top

       True or false, if x is a power of 2 or not, respectively.

STANDARDS         top

       BSD.

CAVEATS         top

       The arguments may be evaluated more than once.

       Because this macro is implemented using bitwise operations, some
       negative values can invoke undefined behavior.  For example, the
       following invokes undefined behavior: powerof2(INT_MIN);.  Call
       it only with unsigned types to be safe.

SEE ALSO         top

       stdc_bit_ceil(3), stdc_bit_floor(3)

Linux man-pages (unreleased)     (date)                      powerof2(3)