X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fwilcoxon.c;h=268296d7e6ee404f2a6657d7970ec385628ff05e;hb=2a02ce128ba2c77fd003e81195730de4f82d3baa;hp=310206c0e7bf88961e820c05f97831f8568da5a6;hpb=8f04b0ced35a66cfdebefbcb53c81979add36ca3;p=pspp-builds.git diff --git a/src/language/stats/wilcoxon.c b/src/language/stats/wilcoxon.c index 310206c0..268296d7 100644 --- a/src/language/stats/wilcoxon.c +++ b/src/language/stats/wilcoxon.c @@ -1,5 +1,5 @@ /* Pspp - a program for statistical analysis. - Copyright (C) 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,8 +22,6 @@ #include #include -#include -#include #include #include @@ -32,15 +30,12 @@ #include #include #include -#include #include #include #include #include #include -#include -#include -#include +#include #include "minmax.h" #include "xalloc.h" @@ -84,11 +79,11 @@ 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); - struct variable *weightx = var_create_internal (WEIGHT_IDX, 0); + struct variable *weightx = dict_create_internal_var (WEIGHT_IDX, 0); struct caseproto *proto; input = @@ -108,8 +103,8 @@ wilcoxon_execute (const struct dataset *ds, struct subcase ordering; variable_pair *vp = &t2s->pairs[i]; - ws[i].sign = var_create_internal (0, 0); - ws[i].absdiff = var_create_internal (1, 0); + ws[i].sign = dict_create_internal_var (0, 0); + ws[i].absdiff = dict_create_internal_var (1, 0); r = casereader_create_filter_missing (r, *vp, 2, exclude, @@ -195,15 +190,15 @@ wilcoxon_execute (const struct dataset *ds, casereader_destroy (input); - var_destroy (weightx); + dict_destroy_internal_var (weightx); show_ranks_box (ws, t2s, dict); show_tests_box (ws, t2s, exact, timer); for (i = 0 ; i < t2s->n_pairs; ++i ) { - var_destroy (ws[i].sign); - var_destroy (ws[i].absdiff); + dict_destroy_internal_var (ws[i].sign); + dict_destroy_internal_var (ws[i].absdiff); } free (ws); @@ -225,9 +220,7 @@ show_ranks_box (const struct wilcoxon_state *ws, const struct variable *wv = dict_get_weight (dict); const struct fmt_spec *wfmt = wv ? var_get_print_format (wv) : & F_8_0; - struct tab_table *table = tab_create (5, 1 + 4 * t2s->n_pairs, 0); - - tab_dim (table, tab_natural_dimensions, NULL); + struct tab_table *table = tab_create (5, 1 + 4 * t2s->n_pairs); tab_title (table, _("Ranks")); @@ -235,11 +228,11 @@ show_ranks_box (const struct wilcoxon_state *ws, /* Vertical lines inside the box */ tab_box (table, 0, 0, -1, TAL_1, - 1, 0, table->nc - 1, tab_nr (table) - 1 ); + 1, 0, tab_nc (table) - 1, tab_nr (table) - 1 ); /* Box around entire table */ tab_box (table, TAL_2, TAL_2, -1, -1, - 0, 0, table->nc - 1, tab_nr (table) - 1 ); + 0, 0, tab_nc (table) - 1, tab_nr (table) - 1 ); tab_text (table, 2, 0, TAB_CENTER, _("N")); @@ -261,7 +254,7 @@ show_ranks_box (const struct wilcoxon_state *ws, tab_text (table, 1, 3 + i * 4, TAB_LEFT, _("Ties")); tab_text (table, 1, 4 + i * 4, TAB_LEFT, _("Total")); - tab_hline (table, TAL_1, 0, table->nc - 1, 1 + i * 4); + tab_hline (table, TAL_1, 0, tab_nc (table) - 1, 1 + i * 4); tab_text (table, 0, 1 + i * 4, TAB_LEFT, ds_cstr (&pair_name)); @@ -290,8 +283,8 @@ show_ranks_box (const struct wilcoxon_state *ws, } - tab_hline (table, TAL_2, 0, table->nc - 1, 1); - tab_vline (table, TAL_2, 2, 0, table->nr - 1); + tab_hline (table, TAL_2, 0, tab_nc (table) - 1, 1); + tab_vline (table, TAL_2, 2, 0, tab_nr (table) - 1); tab_submit (table); @@ -306,9 +299,7 @@ show_tests_box (const struct wilcoxon_state *ws, ) { size_t i; - struct tab_table *table = tab_create (1 + t2s->n_pairs, exact ? 5 : 3, 0); - - tab_dim (table, tab_natural_dimensions, NULL); + struct tab_table *table = tab_create (1 + t2s->n_pairs, exact ? 5 : 3); tab_title (table, _("Test Statistics")); @@ -316,11 +307,11 @@ show_tests_box (const struct wilcoxon_state *ws, /* Vertical lines inside the box */ tab_box (table, 0, 0, -1, TAL_1, - 0, 0, table->nc - 1, tab_nr (table) - 1 ); + 0, 0, tab_nc (table) - 1, tab_nr (table) - 1 ); /* Box around entire table */ tab_box (table, TAL_2, TAL_2, -1, -1, - 0, 0, table->nc - 1, tab_nr (table) - 1 ); + 0, 0, tab_nc (table) - 1, tab_nr (table) - 1 ); tab_text (table, 0, 1, TAB_LEFT, _("Z")); @@ -377,8 +368,8 @@ show_tests_box (const struct wilcoxon_state *ws, } } - tab_hline (table, TAL_2, 0, table->nc - 1, 1); - tab_vline (table, TAL_2, 1, 0, table->nr - 1); + tab_hline (table, TAL_2, 0, tab_nc (table) - 1, 1); + tab_vline (table, TAL_2, 1, 0, tab_nr (table) - 1); tab_submit (table);