mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
host-utils: introduce uabs64()
Introduce uabs64(), a function that returns the absolute value of a 64-bit int as an unsigned value. This avoids the undefined behavior for common abs implementations, where abs of the most negative value is undefined. Signed-off-by: Luis Pires <luis.pires@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20210910112624.72748-4-luis.pires@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
4ff2a971f4
commit
d03bba0bfb
1 changed files with 8 additions and 0 deletions
|
@ -357,6 +357,14 @@ static inline uint64_t revbit64(uint64_t x)
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the absolute value of a 64-bit integer as an unsigned 64-bit value
|
||||
*/
|
||||
static inline uint64_t uabs64(int64_t v)
|
||||
{
|
||||
return v < 0 ? -v : v;
|
||||
}
|
||||
|
||||
/**
|
||||
* sadd32_overflow - addition with overflow indication
|
||||
* @x, @y: addends
|
||||
|
|
Loading…
Reference in a new issue