diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-12-06 16:21:19 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-12-07 19:09:31 +0200 |
commit | f413f944d789911c9ded831ac45a7674c129ceba (patch) | |
tree | c09d9d0e96e9e504d3a35c7d02e5c31d33908b1b /LICENSES/BSD-3-Clause.txt | |
parent | 72679c682eb0b9f03948f258a26f78c037d33c48 (diff) |
libcamera: base: utils: Add abs_diff() utility function
The abs_diff() function computes the absolute difference of two
elements. This may seem trivial at first, but can lead to unexpected
results when operating on unsigned operands. A common implementation
of the absolute difference of two unsigned int (used through the
libcamera code base) is
std::abs(static_cast<int>(a - b))
but doesn't return the expected result when either a or b is larger than
UINT_MAX / 2 due to overflows. The abs_diff() function offers a safe
alternative.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'LICENSES/BSD-3-Clause.txt')
0 files changed, 0 insertions, 0 deletions