X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Freliability.c;h=5816a2304ceba846425dab7bf1ab5af3d09ed785;hb=604b7adbf9c26922f7a20887b2baf16a3f0acef6;hp=b8dc10b90f53562d35bd157493e8390e206ca704;hpb=26bad54c73bdb354262a2434de93e632a286b0d3;p=pspp diff --git a/src/language/stats/reliability.c b/src/language/stats/reliability.c index b8dc10b90f..5816a2304c 100644 --- a/src/language/stats/reliability.c +++ b/src/language/stats/reliability.c @@ -32,7 +32,7 @@ #include "libpspp/str.h" #include "math/moments.h" #include "output/pivot-table.h" -#include "output/text-item.h" +#include "output/output-item.h" #include "gettext.h" #define _(msgid) gettext (msgid) @@ -170,13 +170,13 @@ cmd_reliability (struct lexer *lexer, struct dataset *ds) /* Create a default Scale */ reliability.n_sc = 1; - reliability.sc = xzalloc (sizeof (struct cronbach) * reliability.n_sc); + reliability.sc = xcalloc (reliability.n_sc, sizeof (struct cronbach)); ds_assign_cstr (&reliability.scale_name, "ANY"); c = &reliability.sc[0]; c->n_items = reliability.n_variables; - c->items = xzalloc (sizeof (struct variable*) * c->n_items); + c->items = xcalloc (c->n_items, sizeof (struct variable*)); for (i = 0 ; i < c->n_items ; ++i) c->items[i] = reliability.variables[i]; @@ -310,11 +310,8 @@ cmd_reliability (struct lexer *lexer, struct dataset *ds) (reliability.split_point == -1) ? s->n_items / 2 : reliability.split_point; reliability.sc[2].n_items = s->n_items - reliability.sc[1].n_items; - reliability.sc[1].items = xzalloc (sizeof (struct variable *) - * reliability.sc[1].n_items); - - reliability.sc[2].items = xzalloc (sizeof (struct variable *) * - reliability.sc[2].n_items); + reliability.sc[1].items = XCALLOC (reliability.sc[1].n_items, const struct variable *); + reliability.sc[2].items = XCALLOC (reliability.sc[2].n_items, const struct variable *); for (i = 0; i < reliability.sc[1].n_items ; ++i) reliability.sc[1].items[i] = s->items[i]; @@ -344,7 +341,7 @@ cmd_reliability (struct lexer *lexer, struct dataset *ds) struct cronbach *s = &reliability.sc[i + base_sc]; s->n_items = reliability.sc[0].n_items - 1; - s->items = xzalloc (sizeof (struct variable *) * s->n_items); + s->items = xcalloc (s->n_items, sizeof (struct variable *)); for (v_src = 0 ; v_src < reliability.sc[0].n_items ; ++v_src) { if (v_src != i) @@ -391,7 +388,7 @@ run_reliability (struct dataset *ds, const struct reliability *reliability) struct cronbach *s = &reliability->sc[si]; int i; - s->m = xzalloc (sizeof *s->m * s->n_items); + s->m = xcalloc (s->n_items, sizeof *s->m); s->total = moments1_create (MOMENT_VARIANCE); for (i = 0 ; i < s->n_items ; ++i) @@ -426,11 +423,8 @@ append_sum (const struct ccase *c, casenumber n UNUSED, void *aux) double sum = 0; const struct cronbach *s = aux; - int v; - for (v = 0 ; v < s->n_items; ++v) - { - sum += case_data (c, s->items[v])->f; - } + for (int v = 0 ; v < s->n_items; ++v) + sum += case_num (c, s->items[v]); return sum; }; @@ -495,9 +489,9 @@ do_reliability (struct casereader *input, struct dataset *ds, struct cronbach *s = &rel->sc[si]; for (i = 0 ; i < s->n_items ; ++i) - moments1_add (s->m[i], case_data (c, s->items[i])->f, weight); + moments1_add (s->m[i], case_num (c, s->items[i]), weight); - moments1_add (s->total, case_data_idx (c, s->totals_idx)->f, weight); + moments1_add (s->total, case_num_idx (c, s->totals_idx), weight); } } casereader_destroy (input); @@ -522,10 +516,10 @@ do_reliability (struct casereader *input, struct dataset *ds, alpha (s->n_items, s->sum_of_variances, s->variance_of_sums); } - text_item_submit (text_item_create_nocopy ( - TEXT_ITEM_TITLE, - xasprintf (_("Scale: %s"), ds_cstr (&rel->scale_name)), - NULL)); + output_item_submit (text_item_create_nocopy ( + TEXT_ITEM_TITLE, + xasprintf (_("Scale: %s"), ds_cstr (&rel->scale_name)), + NULL)); case_processing_summary (n_valid, n_missing, dataset_dict (ds)); }