API explosion (Re: [RFC/RFT] calloutng)
Luigi Rizzo
rizzo at iet.unipi.it
Wed Dec 19 16:18:44 UTC 2012
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
More information about the freebsd-current
mailing list