X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fgraph.c;h=8157bb295887c762f2362005b6e8f4bfcb474dcf;hb=28d3dbe39fce5b5ccdae8c99b4e00746f4aaad22;hp=b60ed2fdff47f7d31c05d1f3aadbbdcaf1d2f112;hpb=96994a54e60e9c95b8bba54c2281acf7059b1203;p=pspp diff --git a/src/language/stats/graph.c b/src/language/stats/graph.c index b60ed2fdff..8157bb2958 100644 --- a/src/language/stats/graph.c +++ b/src/language/stats/graph.c @@ -240,7 +240,7 @@ parse_function (struct lexer *lexer, struct graph *graph) if (!lex_force_match (lexer, T_LPAREN)) goto error; - graph->dep_vars = xzalloc (sizeof (graph->dep_vars) * graph->n_dep_vars); + graph->dep_vars = xcalloc (graph->n_dep_vars, sizeof (graph->dep_vars)); for (v = 0; v < ag_func[i].arity; ++v) { graph->dep_vars[v] = parse_variable (lexer, graph->dict); @@ -355,8 +355,8 @@ show_histogr (const struct graph *cmd, struct casereader *input) for (;(c = casereader_read (input)) != NULL; case_unref (c)) { - const double x = case_data_idx (c, HG_IDX_X)->f; - const double weight = case_data_idx (c, HG_IDX_WT)->f; + const double x = case_num_idx (c, HG_IDX_X); + const double weight = case_num_idx (c, HG_IDX_WT); moments_pass_two (cmd->es[0].mom, x, weight); histogram_add (histogram, x, weight); } @@ -373,7 +373,7 @@ show_histogr (const struct graph *cmd, struct casereader *input) moments_calculate (cmd->es[0].mom, &n, &mean, &var, NULL, NULL); - chart_item_submit + chart_submit (histogram_chart_create (histogram->gsl_hist, ds_cstr (&label), n, mean, sqrt (var), cmd->normal)); @@ -430,8 +430,8 @@ run_barchart (struct graph *cmd, struct casereader *input) for (v = 0; v < cmd->n_by_vars; ++v) { if (var_is_value_missing (cmd->by_var[v], - case_data (c, cmd->by_var[v]), - cmd->fctr_excl)) + case_data (c, cmd->by_var[v])) + & cmd->fctr_excl) break; } @@ -489,7 +489,7 @@ run_barchart (struct graph *cmd, struct casereader *input) { const double weight = dict_get_case_weight (cmd->dict,c,NULL); const double x = (cmd->n_dep_vars > 0) - ? case_data (c, cmd->dep_vars[0])->f : SYSMIS; + ? case_num (c, cmd->dep_vars[0]) : SYSMIS; cc += weight; @@ -555,9 +555,9 @@ run_barchart (struct graph *cmd, struct casereader *input) ds_put_cstr (&label, ag_func[cmd->agr].description); - chart_item_submit (barchart_create (cmd->by_var, cmd->n_by_vars, - ds_cstr (&label), false, - cells, n_cells)); + chart_submit (barchart_create (cmd->by_var, cmd->n_by_vars, + ds_cstr (&label), false, + cells, n_cells)); ds_destroy (&label); } @@ -609,7 +609,7 @@ run_graph (struct graph *cmd, struct casereader *input) struct ccase *outcase = case_create (cmd->gr_proto); const double weight = dict_get_case_weight (cmd->dict,c,NULL); if (cmd->chart_type == CT_HISTOGRAM) - case_data_rw_idx (outcase, HG_IDX_WT)->f = weight; + *case_num_rw_idx (outcase, HG_IDX_WT) = weight; if (cmd->chart_type == CT_SCATTERPLOT && cmd->n_by_vars > 0) value_copy (case_data_rw_idx (outcase, SP_IDX_BY), case_data (c, cmd->by_var[0]), @@ -617,15 +617,15 @@ run_graph (struct graph *cmd, struct casereader *input) for(int v=0;vn_dep_vars;v++) { const struct variable *var = cmd->dep_vars[v]; - const double x = case_data (c, var)->f; + const double x = case_num (c, var); - if (var_is_value_missing (var, case_data (c, var), cmd->dep_excl)) + if (var_is_value_missing (var, case_data (c, var)) & cmd->dep_excl) { cmd->es[v].missing += weight; continue; } /* Magically v value fits to SP_IDX_X, SP_IDX_Y, HG_IDX_X */ - case_data_rw_idx (outcase, v)->f = x; + *case_num_rw_idx (outcase, v) = x; if (x > cmd->es[v].maximum) cmd->es[v].maximum = x; @@ -908,7 +908,7 @@ cmd_graph (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "REPORT")) { - graph.fctr_excl = MV_NEVER; + graph.fctr_excl = 0; } else if (lex_match_id (lexer, "NOREPORT")) { @@ -977,7 +977,7 @@ cmd_graph (struct lexer *lexer, struct dataset *ds) ok = proc_commit (ds) && ok; } - subcase_destroy (&graph.ordering); + subcase_uninit (&graph.ordering); free (graph.dep_vars); pool_destroy (graph.pool); caseproto_unref (graph.gr_proto); @@ -985,7 +985,7 @@ cmd_graph (struct lexer *lexer, struct dataset *ds) return CMD_SUCCESS; error: - subcase_destroy (&graph.ordering); + subcase_uninit (&graph.ordering); caseproto_unref (graph.gr_proto); free (graph.dep_vars); pool_destroy (graph.pool);