[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 02/19] host-utils: move abs64() to host-utils
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH 02/19] host-utils: move abs64() to host-utils |
Date: |
Wed, 25 Aug 2021 17:18:05 -0400 |
On Wed, Aug 25, 2021 at 08:37:17PM +0000, Luis Fernando Fujita Pires wrote:
> From: Eduardo Habkost <ehabkost@redhat.com>
>
> > > 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.
>
> Oh, I wasn't referring to any specific users. What I meant is
> that, if we make abs64() generically available from host-utils,
> callers could expect it to behave the same way as abs() in
> stdlib, for example.
That would be surprising, but do you think there are cases where
that would be a bad surprise?
I don't think anybody who is aware of the abs(INT_MIN),
labs(LONG_MIN), and llabs(LLONG_MIN) edge cases actually _like_
that behaviour.
If you really want to avoid surprises, providing a saner function
with a different name seems better than trying to emulate the
edge cases of abs()/labs()/llabs().
--
Eduardo
- [PATCH 00/19] target/ppc: DFP instructions using decodetree, Luis Pires, 2021/08/24
- [PATCH 01/19] host-utils: Fix overflow detection in divu128(), Luis Pires, 2021/08/24
- [PATCH 02/19] host-utils: move abs64() to host-utils, Luis Pires, 2021/08/24
- Re: [PATCH 02/19] host-utils: move abs64() to host-utils, David Gibson, 2021/08/25
- RE: [PATCH 02/19] host-utils: move abs64() to host-utils, Luis Fernando Fujita Pires, 2021/08/25
- Re: [PATCH 02/19] host-utils: move abs64() to host-utils, Eduardo Habkost, 2021/08/25
- RE: [PATCH 02/19] host-utils: move abs64() to host-utils, Luis Fernando Fujita Pires, 2021/08/25
- Re: [PATCH 02/19] host-utils: move abs64() to host-utils,
Eduardo Habkost <=
- Re: [PATCH 02/19] host-utils: move abs64() to host-utils, Philippe Mathieu-Daudé, 2021/08/25
- RE: [PATCH 02/19] host-utils: move abs64() to host-utils, Luis Fernando Fujita Pires, 2021/08/27
[PATCH 03/19] host-utils: move checks out of divu128/divs128, Luis Pires, 2021/08/24
[PATCH 04/19] host-utils: add 128-bit quotient support to divu128/divs128, Luis Pires, 2021/08/24
[PATCH 05/19] host-utils: add unit tests for divu128/divs128, Luis Pires, 2021/08/24
[PATCH 06/19] libdecnumber: introduce decNumberFrom[U]Int128, Luis Pires, 2021/08/24
[PATCH 07/19] target/ppc: Move REQUIRE_ALTIVEC/VECTOR to translate.c, Luis Pires, 2021/08/24
[PATCH 08/19] target/ppc: Introduce REQUIRE_FPU, Luis Pires, 2021/08/24