Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
Extra arithmetic and bit manipulation functions. More...
#include <zephyr/types.h>
#include <stdbool.h>
#include <stddef.h>
#include <sys/math_extras_impl.h>
Go to the source code of this file.
Functions | |
Unsigned integer addition with overflow detection. | |
These functions compute | |
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) |
Unsigned integer multiplication with overflow detection. | |
These functions compute | |
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) |
Count leading zeros. | |
Count the number of leading zero bits in the bitwise representation of | |
static int | u32_count_leading_zeros (uint32_t x) |
static int | u64_count_leading_zeros (uint64_t x) |
Count trailing zeros. | |
Count the number of trailing zero bits in the bitwise representation of | |
static int | u32_count_trailing_zeros (uint32_t x) |
static int | u64_count_trailing_zeros (uint64_t x) |
Extra arithmetic and bit manipulation functions.
This header file provides portable wrapper functions for a number of arithmetic and bit-counting functions that are often provided by compiler builtins. If the compiler does not have an appropriate builtin, a portable C implementation is used instead.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |