From 0d8a0fd2efffeeb79c4eb511b9cf30af5be0d0c1 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Sun, 15 Jan 2012 20:56:31 -0500 Subject: [PATCH] free krand_t in the example --- krand.c | 2 ++ krand.h | 1 + 2 files changed, 3 insertions(+) diff --git a/krand.c b/krand.c index b46f8c3..687b7db 100644 --- a/krand.c +++ b/krand.c @@ -70,6 +70,8 @@ int main(int argc, char *argv[]) if (argc > 1) N = atol(argv[1]); kr = kr_srand(11); for (i = 0; i < N; ++i) kr_rand(kr); +// for (i = 0; i < N; ++i) lrand48(); + free(kr); return 0; } #endif diff --git a/krand.h b/krand.h index 68df4bc..968331c 100644 --- a/krand.h +++ b/krand.h @@ -9,6 +9,7 @@ struct _krand_t; typedef struct _krand_t krand_t; #define kr_drand(_kr) ((kr_rand(_kr) >> 11) * (1.0/9007199254740992.0)) +#define kr_sample(_kr, _k, _cnt) ((*(_cnt))++ < (_k)? *(_cnt) - 1 : kr_rand(_kr) % *(_cnt)) #ifdef __cplusplus extern "C" { -- 2.47.3