136 lines
3.8 KiB
ReStructuredText
136 lines
3.8 KiB
ReStructuredText
=========================
|
|
Bitwise Utility Functions
|
|
=========================
|
|
|
|
.. include:: check.rst
|
|
|
|
---------------
|
|
Source Location
|
|
---------------
|
|
|
|
- The main source for bitwise utility functions is located at:
|
|
``libc/src/stdbit``.
|
|
|
|
- The source for internal helpers used to implement these is located at:
|
|
``libc/src/__support/CPP/bit.h``.
|
|
|
|
- The tests are located at:
|
|
``libc/test/src/stdbit/``, ``libc/test/include/stdbit_test.cpp``, and
|
|
``src/__support/CPP/bit_test.cpp``.
|
|
|
|
---------------------
|
|
Implementation Status
|
|
---------------------
|
|
|
|
Functions
|
|
=========
|
|
|
|
..
|
|
Do not order these, they are as they appear in the standard.
|
|
|
|
============================ =========
|
|
Function Name Available
|
|
============================ =========
|
|
stdc_leading_zeros_uc |check|
|
|
stdc_leading_zeros_us |check|
|
|
stdc_leading_zeros_ui |check|
|
|
stdc_leading_zeros_ul |check|
|
|
stdc_leading_zeros_ull |check|
|
|
stdc_leading_ones_uc |check|
|
|
stdc_leading_ones_us |check|
|
|
stdc_leading_ones_ui |check|
|
|
stdc_leading_ones_ul |check|
|
|
stdc_leading_ones_ull |check|
|
|
stdc_trailing_zeros_uc |check|
|
|
stdc_trailing_zeros_us |check|
|
|
stdc_trailing_zeros_ui |check|
|
|
stdc_trailing_zeros_ul |check|
|
|
stdc_trailing_zeros_ull |check|
|
|
stdc_trailing_ones_uc |check|
|
|
stdc_trailing_ones_us |check|
|
|
stdc_trailing_ones_ui |check|
|
|
stdc_trailing_ones_ul |check|
|
|
stdc_trailing_ones_ull |check|
|
|
stdc_first_leading_zero_uc |check|
|
|
stdc_first_leading_zero_us |check|
|
|
stdc_first_leading_zero_ui |check|
|
|
stdc_first_leading_zero_ul |check|
|
|
stdc_first_leading_zero_ull |check|
|
|
stdc_first_leading_one_uc |check|
|
|
stdc_first_leading_one_us |check|
|
|
stdc_first_leading_one_ui |check|
|
|
stdc_first_leading_one_ul |check|
|
|
stdc_first_leading_one_ull |check|
|
|
stdc_first_trailing_zero_uc |check|
|
|
stdc_first_trailing_zero_us |check|
|
|
stdc_first_trailing_zero_ui |check|
|
|
stdc_first_trailing_zero_ul |check|
|
|
stdc_first_trailing_zero_ull |check|
|
|
stdc_first_trailing_one_uc |check|
|
|
stdc_first_trailing_one_us |check|
|
|
stdc_first_trailing_one_ui |check|
|
|
stdc_first_trailing_one_ul |check|
|
|
stdc_first_trailing_one_ull |check|
|
|
stdc_count_zeros_uc |check|
|
|
stdc_count_zeros_us |check|
|
|
stdc_count_zeros_ui |check|
|
|
stdc_count_zeros_ul |check|
|
|
stdc_count_zeros_ull |check|
|
|
stdc_count_ones_uc |check|
|
|
stdc_count_ones_us |check|
|
|
stdc_count_ones_ui |check|
|
|
stdc_count_ones_ul |check|
|
|
stdc_count_ones_ull |check|
|
|
stdc_has_single_bit_uc |check|
|
|
stdc_has_single_bit_us |check|
|
|
stdc_has_single_bit_ui |check|
|
|
stdc_has_single_bit_ul |check|
|
|
stdc_has_single_bit_ull |check|
|
|
stdc_bit_width_uc
|
|
stdc_bit_width_us
|
|
stdc_bit_width_ui
|
|
stdc_bit_width_ul
|
|
stdc_bit_width_ull
|
|
stdc_bit_floor_uc
|
|
stdc_bit_floor_us
|
|
stdc_bit_floor_ui
|
|
stdc_bit_floor_ul
|
|
stdc_bit_floor_ull
|
|
stdc_bit_ceil_uc
|
|
stdc_bit_ceil_us
|
|
stdc_bit_ceil_ui
|
|
stdc_bit_ceil_ul
|
|
stdc_bit_ceil_ull
|
|
============================ =========
|
|
|
|
|
|
Macros
|
|
======
|
|
|
|
========================= =========
|
|
Macro Name Available
|
|
========================= =========
|
|
__STDC_VERSION_STDBIT_H__
|
|
__STDC_ENDIAN_LITTLE__
|
|
__STDC_ENDIAN_BIG__
|
|
__STDC_ENDIAN_NATIVE__
|
|
stdc_leading_zeros |check|
|
|
stdc_leading_ones |check|
|
|
stdc_trailing_zeros |check|
|
|
stdc_trailing_ones |check|
|
|
stdc_first_leading_zero |check|
|
|
stdc_first_leading_one |check|
|
|
stdc_first_trailing_zero |check|
|
|
stdc_first_trailing_one |check|
|
|
stdc_count_zeros |check|
|
|
stdc_count_ones |check|
|
|
stdc_has_single_bit |check|
|
|
stdc_bit_width
|
|
stdc_bit_floor
|
|
stdc_bit_ceil
|
|
========================= =========
|
|
|
|
Standards
|
|
=========
|
|
stdbit.h was specified as part of C23 in section 7.18 "Bit and byte utilities."
|