hexo/bit.h header reference
[Hardware abstraction layer module]

The source code of this header can be browsed online.

Description [link] 

Bit operations

Members [link] 

Functions [link] 

Macros [link] 

Members detail [link] 

#define BIT_CLEAR(value, b) [link] 

This macro is declared in hexo/bit.h source file, line 111.

this macro clears bit bit in value

#define BIT_INSERT(value, ins, index, count) [link] 

This macro is declared in hexo/bit.h source file, line 115.

this macro inserts count bits value ins at specified index in value

#define BIT_SET(value, b) [link] 

This macro is declared in hexo/bit.h source file, line 108.

this macro sets bit bit in value

#define __BIT_FUNC_GEN(n, l) [link] 

This macro is declared in hexo/bit.h source file, line 119.

#define __BIT_H_ [link] 

This macro is declared in hexo/bit.h source file, line 28.

#define __pow2_m1_up1(x) [link] 

This macro is declared in hexo/bit.h source file, line 51.

#define __pow2_m1_up16(x) [link] 

This macro is declared in hexo/bit.h source file, line 55.

#define __pow2_m1_up2(x) [link] 

This macro is declared in hexo/bit.h source file, line 52.

#define __pow2_m1_up4(x) [link] 

This macro is declared in hexo/bit.h source file, line 53.

#define __pow2_m1_up8(x) [link] 

This macro is declared in hexo/bit.h source file, line 54.

#define address_align_down(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 95.

this macro aligns address on the next power of two boundary

#define address_align_up(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 92.

this macro aligns address on the next power of two boundary

#define address_is_aligned(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 89.

this macro returns whether an address is aligned

#define align_pow2_down(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 49.

this macro aligns value on the previous power of two boundary

#define align_pow2_up(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 46.

this macro aligns value on the next power of two boundary

#define bit(n) [link] 

This macro is declared in hexo/bit.h source file, line 65.

this macro selects bit n

#define bit_clz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 243.

This macro returns the number of leading zero bits in a 16 bits value. The result is undefined if the input is 0.

See also bit_clz_unsafe.

#define bit_clz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 248.

This macro returns the number of leading zero bits in a 32 bits value. The result is undefined if the input is 0.

See also bit_clz_unsafe.

#define bit_clz64(x) [link] 

This macro is declared in hexo/bit.h source file, line 253.

This macro returns the number of leading zero bits in a 64 bits value. The result is undefined if the input is 0.

See also bit_clz_unsafe.

#define bit_clz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 238.

This macro returns the number of leading zero bits in a 8 bits value. The result is undefined if the input is 0.

See also bit_clz_unsafe.

#define bit_clz_unsafe(x) [link] 

This macro is declared in hexo/bit.h source file, line 273.

This macro returns the number of leading zero bits in an integer value. The result is undefined if the input is 0.

Because the results depends on the width of the integer type, it is less error prone to rely on bit_msb_index when possible.

#define bit_ctz(x) [link] 

This macro is declared in hexo/bit.h source file, line 381.

This macro returns the number of trailing zero bits in an integer value. The result is undefined if the input is 0.

See also bit_lsb_index.

#define bit_ctz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 365.

This macro returns the number of trailing zero bits in a 16 bits value. The result is undefined if the input is 0.

#define bit_ctz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 370.

This macro returns the number of trailing zero bits in a 32 bits value. The result is undefined if the input is 0.

#define bit_ctz64(x) [link] 

This macro is declared in hexo/bit.h source file, line 375.

This macro returns the number of trailing zero bits in a 64 bits value. The result is undefined if the input is 0.

#define bit_ctz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 360.

This macro returns the number of trailing zero bits in a 8 bits value. The result is undefined if the input is 0.

#define bit_ffs(x) [link] 

This macro is declared in hexo/bit.h source file, line 444.

This macro returns the index of the least significant set bit in an integer value. The index of the rightmost bit is 1. The result is 0 if the input is 0.

#define bit_ffs16(x) [link] 

This macro is declared in hexo/bit.h source file, line 426.

This macro returns the index of the least significant set bit in a 16 bits value. The index of the rightmost bit is 1. The result is 0 if the input is 0.

#define bit_ffs32(x) [link] 

This macro is declared in hexo/bit.h source file, line 432.

This macro returns the index of the least significant set bit in a 32 bits value. The index of the rightmost bit is 1. The result is 0 if the input is 0.

#define bit_ffs64(x) [link] 

This macro is declared in hexo/bit.h source file, line 438.

This macro returns the index of the least significant set bit in a 64 bits value. The index of the rightmost bit is 1. The result is 0 if the input is 0.

#define bit_ffs8(x) [link] 

This macro is declared in hexo/bit.h source file, line 420.

This macro returns the index of the least significant set bit in a 8 bits value. The index of the rightmost bit is 1. The result is 0 if the input is 0.

#define bit_get(value, index) [link] 

This macro is declared in hexo/bit.h source file, line 74.

this macro extracts bit at specified index

#define bit_get_mask(value, index, count) [link] 

This macro is declared in hexo/bit.h source file, line 78.

this macro extracts count bits from specified index in value

#define bit_get_range(value, first, last) [link] 

This macro is declared in hexo/bit.h source file, line 83.

this macro extracts bits between specified first and last index (included) in value

#define bit_lsb_index(x) [link] 

This macro is declared in hexo/bit.h source file, line 391.

This macro returns the index of the least significant set bit in an intger value. The index of the rightmost bit is 0. The result is undefined if the input is 0.

This is equivalent to bit_ctz

#define bit_mask(index, count) [link] 

This macro is declared in hexo/bit.h source file, line 68.

this macro makes a bit mask of count bits width from bit index

#define bit_msb_index(x) [link] 

This macro is declared in hexo/bit.h source file, line 262.

This macro returns the index of the most significant set bit in an integer value. The index of the rightmost bit is 0.

This is the truncated log2 of an integer value. The result is undefined if the input is 0.

See also bit_clz_unsafe and bit_lsb_index.

#define bit_popc(x) [link] 

This macro is declared in hexo/bit.h source file, line 518.

This macro returns the number of bits set in an integer value.

#define bit_popc16(x) [link] 

This macro is declared in hexo/bit.h source file, line 506.

This macro returns the number of bits set in a 16 bits value.

#define bit_popc32(x) [link] 

This macro is declared in hexo/bit.h source file, line 510.

This macro returns the number of bits set in a 32 bits value.

#define bit_popc64(x) [link] 

This macro is declared in hexo/bit.h source file, line 514.

This macro returns the number of bits set in a 64 bits value.

#define bit_popc8(x) [link] 

This macro is declared in hexo/bit.h source file, line 502.

This macro returns the number of bits set in a 8 bits value.

#define bit_range(first, last) [link] 

This macro is declared in hexo/bit.h source file, line 71.

this macro makes a bit mask from first bit to last bit (included)

#define byte_pack16(msb, lsb) [link] 

This macro is declared in hexo/bit.h source file, line 103.

this macro packs 2 bytes and returns a 16 bits word

#define byte_pack32(msb, a, b, lsb) [link] 

This macro is declared in hexo/bit.h source file, line 99.

this macro packs 4 bytes and returns a 32 bits word

#define is_pow2(x) [link] 

This macro is declared in hexo/bit.h source file, line 39.

this macro returns true if value is a power of 2

#define is_pow2_multiple(x, b) [link] 

This macro is declared in hexo/bit.h source file, line 43.

this macro returns true if value is multiple of b, which must be a power of 2

#define pow2_m1_up(x) [link] 

This macro is declared in hexo/bit.h source file, line 59.

this macro returns a power of 2 minus one where the pow2 is greater than the specified value

#define pow2_up(x) [link] 

This macro is declared in hexo/bit.h source file, line 62.

this macro returns a power of 2 greater or equal to the specified value

uint_fast8_t __bit_clz16(uint16_t x) [link] 

This function is declared in hexo/bit.h source file, line 180.

This function is for internal use only.

uint_fast8_t __bit_clz32(uint32_t x) [link] 

This function is declared in hexo/bit.h source file, line 181.

This function is for internal use only.

uint_fast8_t __bit_clz64(uint64_t x) [link] 

This function is declared in hexo/bit.h source file, line 182.

This function is for internal use only.

uint_fast8_t __bit_clz8(uint8_t x) [link] 

This function is declared in hexo/bit.h source file, line 179.

This function is for internal use only.

uint_fast8_t __bit_ctz16(uint16_t x) [link] 

This function is declared in hexo/bit.h source file, line 180.

This function is for internal use only.

uint_fast8_t __bit_ctz32(uint32_t x) [link] 

This function is declared in hexo/bit.h source file, line 181.

This function is for internal use only.

uint_fast8_t __bit_ctz64(uint64_t x) [link] 

This function is declared in hexo/bit.h source file, line 182.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2], [3], [4].

uint_fast8_t __bit_ctz64(uint32_t _x) [link] 

This function is declared in hexo/bit.h source file, line 307.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2], [3], [4].

uint_fast8_t __bit_ctz64(uint16_t _x) [link] 

This function is declared in hexo/bit.h source file, line 327.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2], [3], [4].

uint_fast8_t __bit_ctz64(uint8_t _x) [link] 

This function is declared in hexo/bit.h source file, line 350.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2], [3], [4].

uint_fast8_t __bit_ctz8(uint8_t x) [link] 

This function is declared in hexo/bit.h source file, line 179.

This function is for internal use only.

uint_fast8_t __bit_ffs16(uint16_t x) [link] 

This function is declared in hexo/bit.h source file, line 402.

This function is for internal use only.

uint_fast8_t __bit_ffs32(uint32_t x) [link] 

This function is declared in hexo/bit.h source file, line 408.

This function is for internal use only.

uint_fast8_t __bit_ffs64(uint64_t x) [link] 

This function is declared in hexo/bit.h source file, line 414.

This function is for internal use only.

uint_fast8_t __bit_ffs8(uint8_t x) [link] 

This function is declared in hexo/bit.h source file, line 396.

This function is for internal use only.

uint_fast8_t __bit_popc16(uint16_t x) [link] 

This function is declared in hexo/bit.h source file, line 180.

This function is for internal use only.

uint_fast8_t __bit_popc32(uint32_t x) [link] 

This function is declared in hexo/bit.h source file, line 181.

This function is for internal use only.

uint_fast8_t __bit_popc64(uint64_t x) [link] 

This function is declared in hexo/bit.h source file, line 182.

This function is for internal use only.

uint_fast8_t __bit_popc8(uint8_t x) [link] 

This function is declared in hexo/bit.h source file, line 179.

This function is for internal use only.

#define cpu_bit_clz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 210.

This macro is for internal use only.

#define cpu_bit_clz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 213.

This macro is for internal use only.

#define cpu_bit_clz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 216.

This macro is for internal use only.

#define cpu_bit_clz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 200.

This macro is for internal use only.

#define cpu_bit_clz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 203.

This macro is for internal use only.

uint_fast8_t cpu_bit_clz64(uint64_t _x) [link] 

This function is declared in hexo/bit.h source file, line 188.

This function is for internal use only.

#define cpu_bit_clz64(x) [link] 

This macro is declared in hexo/bit.h source file, line 193.

This macro is for internal use only.

#define cpu_bit_clz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 223.

This macro is for internal use only.

#define cpu_bit_clz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 226.

This macro is for internal use only.

#define cpu_bit_clz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 229.

This macro is for internal use only.

#define cpu_bit_clz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 232.

This macro is for internal use only.

#define cpu_bit_ctz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 318.

This macro is for internal use only.

#define cpu_bit_ctz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 321.

This macro is for internal use only.

#define cpu_bit_ctz16(x) [link] 

This macro is declared in hexo/bit.h source file, line 331.

This macro is for internal use only.

#define cpu_bit_ctz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 302.

This macro is for internal use only.

#define cpu_bit_ctz32(x) [link] 

This macro is declared in hexo/bit.h source file, line 311.

This macro is for internal use only.

uint_fast8_t cpu_bit_ctz64(uint64_t _x) [link] 

This function is declared in hexo/bit.h source file, line 283.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2].

uint_fast8_t cpu_bit_ctz64(uint64_t _x) [link] 

This function is declared in hexo/bit.h source file, line 289.

This function is for internal use only.

Alternate declarations with same identifier: [1], [2].

#define cpu_bit_ctz64(x) [link] 

This macro is declared in hexo/bit.h source file, line 295.

This macro is for internal use only.

#define cpu_bit_ctz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 338.

This macro is for internal use only.

#define cpu_bit_ctz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 341.

This macro is for internal use only.

#define cpu_bit_ctz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 344.

This macro is for internal use only.

#define cpu_bit_ctz8(x) [link] 

This macro is declared in hexo/bit.h source file, line 354.

This macro is for internal use only.

#define cpu_bit_popc16(x) [link] 

This macro is declared in hexo/bit.h source file, line 475.

This macro is for internal use only.

#define cpu_bit_popc16(x) [link] 

This macro is declared in hexo/bit.h source file, line 478.

This macro is for internal use only.

#define cpu_bit_popc16(x) [link] 

This macro is declared in hexo/bit.h source file, line 481.

This macro is for internal use only.

#define cpu_bit_popc32(x) [link] 

This macro is declared in hexo/bit.h source file, line 465.

This macro is for internal use only.

#define cpu_bit_popc32(x) [link] 

This macro is declared in hexo/bit.h source file, line 468.

This macro is for internal use only.

uint_fast8_t cpu_bit_popc64(uint64_t _x) [link] 

This function is declared in hexo/bit.h source file, line 454.

This function is for internal use only.

#define cpu_bit_popc64(x) [link] 

This macro is declared in hexo/bit.h source file, line 458.

This macro is for internal use only.

#define cpu_bit_popc8(x) [link] 

This macro is declared in hexo/bit.h source file, line 488.

This macro is for internal use only.

#define cpu_bit_popc8(x) [link] 

This macro is declared in hexo/bit.h source file, line 491.

This macro is for internal use only.

#define cpu_bit_popc8(x) [link] 

This macro is declared in hexo/bit.h source file, line 494.

This macro is for internal use only.

#define cpu_bit_popc8(x) [link] 

This macro is declared in hexo/bit.h source file, line 497.

This macro is for internal use only.

Valid XHTML 1.0 StrictGenerated by diaxen on Thu Aug 4 15:44:06 2022 using MkDoc