On Wed, Aug 25, 2021 at 12:48:35PM +0000, Luis Fernando Fujita Pires wrote: > From: David Gibson <da...@gibson.dropbear.id.au> > > Hrm.. I'm a bit concerned about mkaing this a more widespread function, > > because it has a nasty edge case... which is basically unavoidable in an > > abs64() > > implementation. Specifically: > > > > abs64(0x800_0000_0000_00000) == 0x800_0000_0000_0000 < 0 > > > > At least in the most likely 2's complement implementation. > > Right, that's true of any standard implementation of abs(). > I thought about making it return uint64_t, but that could make > it weird for other uses of abs64(), where callers wouldn't > expect a type change from int64_t to uint64_t. Maybe create a > separate uabs64() that returns uint64_t? Or is that even > weirder? :)
Which users of abs64 would expect it to return int64_t? kvm_pit_update_clock_offset() doesn't seem to. -- Eduardo