Use cast macros
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 9 Oct 2010 19:07:48 +0000 (21:07 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Mon, 11 Oct 2010 18:03:20 +0000 (20:03 +0200)
src/language/stats/binomial.c
src/language/stats/sign.c
src/language/stats/wilcoxon.c

index 3287509c982c3398dcee96a0e17eea4ea21b929d..8126daf36c725d80652a6add4db7098c35dcdd72 100644 (file)
@@ -88,15 +88,15 @@ calculate_binomial_internal (double n1, double n2, double p)
 static bool
 do_binomial (const struct dictionary *dict,
             struct casereader *input,
-            const struct binomial_test *bst,
+            const struct one_sample_test *ost,
             struct freq *cat1,
             struct freq *cat2,
              enum mv_class exclude
             )
 {
+  const struct binomial_test *bst = UP_CAST (ost, const struct binomial_test, parent);
   bool warn = true;
 
-  const struct one_sample_test *ost = (const struct one_sample_test *) bst;
   struct ccase *c;
 
   for (; (c = casereader_read (input)) != NULL; case_unref (c))
@@ -155,8 +155,8 @@ binomial_execute (const struct dataset *ds,
 {
   int v;
   const struct dictionary *dict = dataset_dict (ds);
-  const struct binomial_test *bst = (const struct binomial_test *) test;
-  const struct one_sample_test *ost = (const struct one_sample_test*) test;
+  const struct one_sample_test *ost = UP_CAST (test, const struct one_sample_test, parent);
+  const struct binomial_test *bst = UP_CAST (ost, const struct binomial_test, parent);
 
   struct freq *cat[2];
   int i;
@@ -179,7 +179,7 @@ binomial_execute (const struct dataset *ds,
         }
     }
 
-  if (do_binomial (dataset_dict (ds), input, bst, cat[0], cat[1], exclude))
+  if (do_binomial (dataset_dict (ds), input, ost, cat[0], cat[1], exclude))
     {
       const struct variable *wvar = dict_get_weight (dict);
       const struct fmt_spec *wfmt = wvar ?
index 754b0d7dfcd6b47c08d62f6f4db05ab8a6e90812..3848911313ed62721eff29b20d6fd9bdf14ca6e9 100644 (file)
@@ -80,6 +80,7 @@ output_frequency_table (const struct two_sample_test *t2s,
       ds_put_cstr (&pair_name, " - ");
       ds_put_cstr (&pair_name, var_to_string ((*vp)[1]));
 
+
       tab_text (table, 0, 1 + i * 4, TAB_LEFT, ds_cstr (&pair_name));
 
       ds_destroy (&pair_name);
@@ -168,7 +169,7 @@ sign_execute (const struct dataset *ds,
   int i;
   bool warn = true;
   const struct dictionary *dict = dataset_dict (ds);
-  const struct two_sample_test *t2s = (const struct two_sample_test *) test;
+  const struct two_sample_test *t2s = UP_CAST (test, const struct two_sample_test, parent);
   struct ccase *c;
 
   struct sign_test_params *stp = xcalloc (sizeof *stp, t2s->n_pairs);
index e917f7ba641c413722d3f30f81ff37e2ddc1ab09..268296d7e6ee404f2a6657d7970ec385628ff05e 100644 (file)
@@ -79,7 +79,7 @@ wilcoxon_execute (const struct dataset *ds,
   int i;
   bool warn = true;
   const struct dictionary *dict = dataset_dict (ds);
-  const struct two_sample_test *t2s = (struct two_sample_test *) test;
+  const struct two_sample_test *t2s = UP_CAST (test, const struct two_sample_test, parent);
 
   struct wilcoxon_state *ws = xcalloc (sizeof (*ws), t2s->n_pairs);
   const struct variable *weight = dict_get_weight (dict);