X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fkruskal-wallis.c;h=ae388068cf9877c055219bc7d51505781c2b2955;hb=81579d9e9f994fb2908f50af41c3eb033d216e58;hp=51ee291f95651be59c024cf4c57c49c8528e3769;hpb=471d0e518a94de5305b4697f25641464761ef910;p=pspp-builds.git diff --git a/src/language/stats/kruskal-wallis.c b/src/language/stats/kruskal-wallis.c index 51ee291f..ae388068 100644 --- a/src/language/stats/kruskal-wallis.c +++ b/src/language/stats/kruskal-wallis.c @@ -1,5 +1,5 @@ /* Pspp - a program for statistical analysis. - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 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,25 +22,25 @@ #include #include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - -#include "minmax.h" -#include "xalloc.h" - - +#include "data/casereader.h" +#include "data/casewriter.h" +#include "data/dictionary.h" +#include "data/format.h" +#include "data/procedure.h" +#include "data/subcase.h" +#include "data/variable.h" +#include "libpspp/assertion.h" +#include "libpspp/hmap.h" +#include "libpspp/message.h" +#include "libpspp/misc.h" +#include "math/sort.h" +#include "output/tab.h" + +#include "gl/minmax.h" +#include "gl/xalloc.h" + + +/* Returns true iff the independent variable lies in the range [nst->val1, nst->val2] */ static bool include_func (const struct ccase *c, void *aux) { @@ -65,6 +65,7 @@ struct rank_entry double n; }; +/* Return the entry with the key GROUP or null if there is no such entry */ static struct rank_entry * find_rank_entry (const struct hmap *map, const union value *group, size_t width) { @@ -80,6 +81,7 @@ find_rank_entry (const struct hmap *map, const union value *group, size_t width) return re; } +/* Calculates the adjustment necessary for tie compensation */ static void distinct_callback (double v UNUSED, casenumber t, double w UNUSED, void *aux) { @@ -181,6 +183,7 @@ kruskal_wallis_execute (const struct dataset *ds, casereader_destroy (rr); + /* Calculate the value of h */ { struct rank_entry *mre; double n = 0.0; @@ -204,6 +207,7 @@ kruskal_wallis_execute (const struct dataset *ds, show_ranks_box (nst, kw, total_n_groups); show_sig_box (nst, kw); + /* Cleanup allocated memory */ for (i = 0 ; i < nst->n_vars; ++i) { struct rank_entry *mre, *next; @@ -219,7 +223,6 @@ kruskal_wallis_execute (const struct dataset *ds, } -#include #include "gettext.h" #define _(msgid) gettext (msgid)