Fixed bug #11227 (T-Test not working with alpha independent variable )
[pspp-builds.git] / src / casefile.c
index 03828b7194b228e85f2c109b352ae6b23dc57126..76de45dc7a6b392dd8581f6334fdaa0ee5cd2026 100644 (file)
@@ -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);
 }
 \f
+#include <gsl/gsl_rng.h>
 #include <stdarg.h>
 #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