ref: cce6dfb94a75af67751e2fab0d961a004e9e51d5
dir: /b.h/
typedef struct B B; typedef struct Cns Cns; struct Cns { uvlong c; uvlong ns; }; #pragma varargck type "σ" B* #pragma varargck type "τ" Cns struct B { uvlong n; uvlong tin; uvlong tout; uvlong step; uvlong t0; Cns tot, avg, med, min, max; Cns p[100]; uvlong *c; int nc, ic; char *name; }; /* private */ void benchstep(B *b); void _tstart(uvlong *c); void _tend(uvlong *c); /* public */ void benchinit(B *b, char *name); void benchprint(B *b, int nb, int fd); #define benchin(b) do{ _tstart(&(b)->tin); }while(0) #define benchout(b) do{ _tend(&(b)->tout); benchstep(b); }while(0)