diff options
| author | Ha Thach <[email protected]> | 2022-11-04 15:42:50 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-11-04 15:42:50 +0700 |
| commit | b554c2ed836527296dd0b79169db04fc2f68cf5a (patch) | |
| tree | 34b25122fac701370b5883b7a878b6a7d92fd76f /src/common/tusb_common.h | |
| parent | 35668fc523c7c972bf91f32dbb3b50ad8b4f3c74 (diff) | |
| parent | 28f49c088bb0c498d730d80943017172061cfd05 (diff) | |
Merge branch 'master' into rp2040-hcd-bulk
Diffstat (limited to 'src/common/tusb_common.h')
| -rw-r--r-- | src/common/tusb_common.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/common/tusb_common.h b/src/common/tusb_common.h index 58591f0be..b1ee40a1a 100644 --- a/src/common/tusb_common.h +++ b/src/common/tusb_common.h @@ -134,12 +134,6 @@ TU_ATTR_ALWAYS_INLINE static inline uint32_t tu_offset4k(uint32_t value) { retur //------------- Mathematics -------------// TU_ATTR_ALWAYS_INLINE static inline uint32_t tu_div_ceil(uint32_t v, uint32_t d) { return (v + d -1)/d; } -/// inclusive range checking TODO remove -TU_ATTR_ALWAYS_INLINE static inline bool tu_within(uint32_t lower, uint32_t value, uint32_t upper) -{ - return (lower <= value) && (value <= upper); -} - // log2 of a value is its MSB's position // TODO use clz TODO remove static inline uint8_t tu_log2(uint32_t value) @@ -149,6 +143,16 @@ static inline uint8_t tu_log2(uint32_t value) return result; } +//static inline uint8_t tu_log2(uint32_t value) +//{ +// return sizeof(uint32_t) * CHAR_BIT - __builtin_clz(x) - 1; +//} + +static inline bool tu_is_power_of_two(uint32_t value) +{ + return (value != 0) && ((value & (value - 1)) == 0); +} + //------------- Unaligned Access -------------// #if TUP_ARCH_STRICT_ALIGN |
