X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fexamine.q;h=fc0c0c9a94f8752aee67aeeded7b8b68553daa15;hb=e210b20bf6f405637c8c03dd280b5a4a627191b8;hp=562defe7b403ca7663722cb70b1394d50584bbb5;hpb=e4eec8a0e8e5d06d3e375e4df98b7d9f74edd9f1;p=pspp-builds.git diff --git a/src/examine.q b/src/examine.q index 562defe7..fc0c0c9a 100644 --- a/src/examine.q +++ b/src/examine.q @@ -44,6 +44,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA #include "moments.h" #include "percentiles.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + /* (headers) */ #include "chart.h" @@ -73,7 +77,7 @@ static struct cmd_examine cmd; static struct variable **dependent_vars; -static int n_dependent_vars; +static size_t n_dependent_vars; struct factor @@ -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; @@ -324,7 +328,7 @@ output_examine(void) if ( cmd.sbc_plot) { - int v; + size_t v; struct factor_statistics **fs = fctr->fs ; @@ -390,7 +394,7 @@ list_to_ptile_hash(const subc_list_double *l) for ( i = 0 ; i < subc_list_double_count(l) ; ++i ) { - struct percentile *p = xmalloc (sizeof (struct percentile)); + struct percentile *p = xmalloc (sizeof *p); p->p = subc_list_double_at(l,i); p->v = SYSMIS; @@ -507,7 +511,7 @@ xmn_custom_variables(struct cmd_examine *cmd ) assert(n_dependent_vars); - totals = xmalloc( sizeof(struct metrics) * n_dependent_vars); + totals = xnmalloc (n_dependent_vars, sizeof *totals); if ( lex_match(T_BY)) { @@ -530,7 +534,7 @@ static int examine_parse_independent_vars(struct cmd_examine *cmd) { int success; - struct factor *sf = xmalloc(sizeof(struct factor)); + struct factor *sf = xmalloc (sizeof *sf); if ((token != T_ID || dict_lookup_var (default_dict, tokid) == NULL) && token != T_ALL) @@ -607,7 +611,7 @@ static int bad_weight_warn = 1; void factor_calc(struct ccase *c, int case_no, double weight, int case_missing) { - int v; + size_t v; struct factor *fctr = factors; while ( fctr) @@ -646,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); @@ -708,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; } @@ -719,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); @@ -808,7 +812,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) hsh_probe(fctr->fstats, (void *) &key ); if ( !*ffs ) { - int i; + size_t i; (*ffs) = create_factor_statistics (n_dependent_vars, &key[0], &key[1]); for ( i = 0 ; i < n_dependent_vars ; ++i ) @@ -830,7 +834,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) if ( totals ) { - int i; + size_t i; for ( i = 0 ; i < n_dependent_vars ; ++i ) { metrics_destroy(&totals[i]); @@ -1854,7 +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 = xmalloc (m->n_data * sizeof(double)); + double *d_data = xnmalloc (m->n_data, sizeof *d_data); double d_max = -DBL_MAX; double d_min = DBL_MAX; for ( i = 0 ; i < m->n_data; ++i )