X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fcasefile.c;h=76de45dc7a6b392dd8581f6334fdaa0ee5cd2026;hb=5156fa5a8323a16f6b4bbc8950221cdc1d0e023d;hp=03828b7194b228e85f2c109b352ae6b23dc57126;hpb=b321086267ad1014dc5d09886396cde30f094437;p=pspp-builds.git diff --git a/src/casefile.c b/src/casefile.c index 03828b71..76de45dc 100644 --- a/src/casefile.c +++ b/src/casefile.c @@ -90,6 +90,13 @@ struct casereader struct ccase c; /* Current case. */ }; +/* Return the case number of the current case */ +unsigned long +casereader_cnum(const struct casereader *r) +{ + return r->case_idx; +} + /* Doubly linked list of all casefiles. */ static struct casefile *casefiles; @@ -739,9 +746,9 @@ exit_handler (void) casefile_destroy (casefiles); } +#include #include #include "command.h" -#include "random.h" #include "lexer.h" static void test_casefile (int pattern, size_t value_cnt, size_t case_cnt); @@ -796,15 +803,13 @@ cmd_debug_casefile (void) static void test_casefile (int pattern, size_t value_cnt, size_t case_cnt) { - int zero = 0; struct casefile *cf; struct casereader *r1, *r2; struct ccase c; - struct rng *rng; + gsl_rng *rng; size_t i, j; - rng = rng_create (); - rng_seed (rng, &zero, sizeof zero); + rng = gsl_rng_alloc (gsl_rng_mt19937); cf = casefile_create (value_cnt); for (i = 0; i < case_cnt; i++) write_random_case (cf, i); @@ -831,7 +836,7 @@ test_casefile (int pattern, size_t value_cnt, size_t case_cnt) for (i = j = 0; i < case_cnt; i++) { read_and_verify_random_case (cf, r1, i); - if (rng_get_int (rng) % pattern == 0) + if (gsl_rng_get (rng) % pattern == 0) read_and_verify_random_case (cf, r2, j++); if (i == case_cnt / 2) casefile_to_disk (cf); @@ -871,7 +876,7 @@ test_casefile (int pattern, size_t value_cnt, size_t case_cnt) casereader_destroy (r1); } casefile_destroy (cf); - rng_destroy (rng); + gsl_rng_free (rng); } static void