1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #ifndef ZEPHYR_INCLUDE_SYS_MATH_EXTRAS_H_
- #define ZEPHYR_INCLUDE_SYS_MATH_EXTRAS_H_
- #include <zephyr/types.h>
- #include <stdbool.h>
- #include <stddef.h>
- static bool u16_add_overflow(uint16_t a, uint16_t b, uint16_t *result);
- static bool u32_add_overflow(uint32_t a, uint32_t b, uint32_t *result);
- static bool u64_add_overflow(uint64_t a, uint64_t b, uint64_t *result);
- static bool size_add_overflow(size_t a, size_t b, size_t *result);
- static bool u16_mul_overflow(uint16_t a, uint16_t b, uint16_t *result);
- static bool u32_mul_overflow(uint32_t a, uint32_t b, uint32_t *result);
- static bool u64_mul_overflow(uint64_t a, uint64_t b, uint64_t *result);
- static bool size_mul_overflow(size_t a, size_t b, size_t *result);
- static int u32_count_leading_zeros(uint32_t x);
- static int u64_count_leading_zeros(uint64_t x);
- static int u32_count_trailing_zeros(uint32_t x);
- static int u64_count_trailing_zeros(uint64_t x);
- #include <sys/math_extras_impl.h>
- #endif
|