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? :) -- Luis Pires Instituto de Pesquisas ELDORADO Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>