======== stdbit.h ======== The optional C23 ``stdbit.h`` header provides bit manipulation macros (endianness, leading/trailing zeros and ones, count, single-bit test, bit width, bit floor, bit ceil). NuttX provides this header only when explicitly enabled via Kconfig. Configuration ============= - **CONFIG_ARCH_HAVE_STDBIT_H** (bool, selected by arch) Architecture indicates it provides ``arch//include/stdbit.h``. - **CONFIG_ARCH_STDBIT_H** (bool "stdbit.h", depends on ARCH_HAVE_STDBIT_H) Use the redirecting header. The build copies ``include/nuttx/lib/stdbit.h`` to ``include/stdbit.h``; that header then includes ```` when this option is set. - **CONFIG_LIBC_STDBIT_GENERIC** (bool "stdbit.h (generic C23)") Use the generic C23 implementation. The same redirecting file ``include/nuttx/lib/stdbit.h`` is copied to ``include/stdbit.h``, and the generic implementation is used (no arch header). Requires compiler builtins (e.g. ``__builtin_clz``, ``__builtin_ctz``, ``__builtin_popcount``); see ``CONFIG_HAVE_BUILTIN_*`` in ``nuttx/compiler.h``. Either **CONFIG_ARCH_STDBIT_H** or **CONFIG_LIBC_STDBIT_GENERIC** may be enabled so that ``#include `` is available.