X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fexamine.q;h=33498d85e05ffdb89f4f70f71fe748af0ca17d18;hb=3fb611d221aa070458c81c6ca8b1c78fbad9a0ab;hp=f92bba1fd2160709f263a860b9bd0dd22699e38d;hpb=3a66b403c8856da07a1de12c96e163971909e29a;p=pspp diff --git a/src/examine.q b/src/examine.q index f92bba1fd2..33498d85e0 100644 --- a/src/examine.q +++ b/src/examine.q @@ -15,8 +15,8 @@ General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. */ #include #include @@ -44,6 +44,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA #include "moments.h" #include "percentiles.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + /* (headers) */ #include "chart.h" @@ -165,7 +169,7 @@ const char *factor_to_string_concise(const struct factor *fctr, /* Function to use for testing for missing values */ -static is_missing_func value_is_missing; +static is_missing_func *value_is_missing; /* PERCENTILES */ @@ -189,9 +193,9 @@ cmd_examine(void) /* If /MISSING=INCLUDE is set, then user missing values are ignored */ if (cmd.incl == XMN_INCLUDE ) - value_is_missing = is_system_missing; + value_is_missing = mv_is_value_system_missing; else - value_is_missing = is_missing; + value_is_missing = mv_is_value_missing; if ( cmd.st_n == SYSMIS ) cmd.st_n = 5; @@ -413,9 +417,9 @@ xmn_custom_percentiles(struct cmd_examine *p UNUSED) lex_match('('); - while ( lex_double_p() ) + while ( lex_is_number() ) { - subc_list_double_push(&percentile_list,lex_double()); + subc_list_double_push(&percentile_list,lex_number()); lex_get(); @@ -612,6 +616,7 @@ factor_calc(struct ccase *c, int case_no, double weight, int case_missing) while ( fctr) { + struct factor_statistics **foo ; union value indep_vals[2] ; indep_vals[0] = * case_data(c, fctr->indep_var[0]->fv); @@ -623,7 +628,7 @@ factor_calc(struct ccase *c, int case_no, double weight, int case_missing) assert(fctr->fstats); - struct factor_statistics **foo = ( struct factor_statistics ** ) + foo = ( struct factor_statistics ** ) hsh_probe(fctr->fstats, (void *) &indep_vals); if ( !*foo ) @@ -645,7 +650,7 @@ factor_calc(struct ccase *c, int case_no, double weight, int case_missing) const struct variable *var = dependent_vars[v]; const union value *val = case_data (c, var->fv); - if ( value_is_missing(val,var) || case_missing ) + if ( value_is_missing (&var->miss, val) || case_missing ) val = 0; metrics_calc( &(*foo)->m[v], val, weight, case_no); @@ -707,7 +712,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) const struct variable *var = dependent_vars[v]; const union value *val = case_data (&c, var->fv); - if ( value_is_missing(val,var)) + if ( value_is_missing(&var->miss, val)) case_missing = 1; } @@ -718,7 +723,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) const struct variable *var = dependent_vars[v]; const union value *val = case_data (&c, var->fv); - if ( value_is_missing(val,var) || case_missing ) + if ( value_is_missing(&var->miss, val) || case_missing ) val = 0; metrics_calc(&totals[v], val, weight, case_no); @@ -1508,8 +1513,8 @@ populate_descriptives(struct tab_table *tbl, int col, int row, tab_text (tbl, col, row + 3, - TAB_LEFT | TAT_TITLE, - _("5% Trimmed Mean")); + TAB_LEFT | TAT_TITLE | TAT_PRINTF, + _("5%% Trimmed Mean")); tab_float (tbl, col + 2, row + 3, @@ -1689,10 +1694,7 @@ box_plot_variables(const struct factor *fctr, { double y_min = DBL_MAX; double y_max = -DBL_MAX; - struct chart *ch; - - ch = chart_create(); - + struct chart *ch = chart_create(); const char *s = factor_to_string(fctr, *fs, 0 ); chart_write_title(ch, s); @@ -1777,7 +1779,7 @@ box_plot_group(const struct factor *fctr, s); } } - else + else if ( ch ) { const double box_width = (ch->data_right - ch->data_left) / 3.0; const double box_centre = (ch->data_right + ch->data_left) / 2.0; @@ -1856,8 +1858,7 @@ np_plot(const struct metrics *m, const char *factorname) { /* We have to cache the detrended data, beacause we need to find its limits before we can plot it */ - double *d_data; - d_data = xmalloc (m->n_data * sizeof(double)); + double *d_data = xmalloc (m->n_data * sizeof(double)); double d_max = -DBL_MAX; double d_min = DBL_MAX; for ( i = 0 ; i < m->n_data; ++i )