mirror of https://github.com/xemu-project/xemu.git
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
|
@ -357,6 +357,14 @@ static inline uint64_t revbit64(uint64_t x)
|
||||||
#endif
|
#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
|
* sadd32_overflow - addition with overflow indication
|
||||||
* @x, @y: addends
|
* @x, @y: addends
|
||||||
|
|
Loading…
Reference in New Issue