Re: API explosion (Re: [RFC/RFT] calloutng)

From: Luigi Rizzo <rizzo_at_iet.unipi.it>
Date: Wed, 19 Dec 2012 08:18:41 -0800
On Wed, Dec 19, 2012 at 7:37 AM, Poul-Henning Kamp <phk_at_phk.freebsd.dk>wrote:

> --------
> In message <20121219150809.GA98673_at_onelab2.iet.unipi.it>, Luigi Rizzo
> writes:
>
> >>         typedef dur_t   int64_t;        /* signed for bug catching */
> >>         #define DURSEC  ((dur_t)1 << 32)
> >>         #define DURMIN  (DURSEC * 60)
> >>         #define DURMSEC (DURSEC / 1000)
> >>         #define DURUSEC (DURSEC / 10000000)
> >>         #define DURNSEC (DURSEC / 10000000000)
>
> >only thing, we must be careful with the parentheses
>
> Actually, it's more impportant to be careful with zeros, if you
> adjust the above to the correct number of zeros, DURNSEC is 4,
> which is within seven percent of the correct value.
>

counting digits is impossible for people over 45.
But i have a solution for that

#define DURNSEC (DURSEC / 1003006009)

which is within 0.5% of the desired value.

(and of course (1000*1000*1000) might do the job too)

cheers
luigi
Received on Wed Dec 19 2012 - 15:18:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC