X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvar.h;h=21b23faccf040a9282fe97a3747feb4ba2613a4b;hb=9b4b94c6d3b5fd98bf396e23d015380b87d2d296;hp=11add5b0daa99ecc7600c0e1bcb1207b3ee80469;hpb=bc963dae9be291ea0a7cccf189d13e00d3797cfd;p=pspp diff --git a/src/var.h b/src/var.h index 11add5b0da..21b23faccf 100644 --- a/src/var.h +++ b/src/var.h @@ -115,36 +115,6 @@ struct list_proc int vert; /* Whether to print the varname vertically. */ }; -/* DESCRIPTIVES private data. Note that the DESCRIPTIVES procedure also - has a transformation, descriptives_trns. */ -enum - { - /* As these are used as bit indexes, there must be 32 or fewer. - Be very careful in adjusting these, see the structure below - and the table in descriptives.q. */ - dsc_mean = 0, dsc_semean, dsc_stddev, dsc_variance, dsc_kurt, - dsc_sekurt, dsc_skew, dsc_seskew, dsc_range, dsc_min, - dsc_max, dsc_sum, dsc_n_stats - }; - -struct descriptives_proc - { - /* Miscellaneous. */ - int dup; /* Finds duplicates in list of - variables. */ - char zname[10]; /* Name for z-score variable. */ - - /* Counts. */ - double valid, miss; /* Valid, missing--general. */ - - /* Mean, moments about the mean. */ - double X_bar, M2, M3, M4; - double min, max; - - /* Statistics. */ - double stats[dsc_n_stats]; /* Everything glommed together. */ - }; - /* GET private data. */ struct get_proc { @@ -221,8 +191,6 @@ struct variable int index; /* Index into its dictionary's var[]. */ int type; /* NUMERIC or ALPHA. */ - /* Also important but parse_variables() doesn't need it. Still, - check before reordering. */ int width; /* Size of string variables in chars. */ int fv, nv; /* Index into `value's, number of values. */ unsigned init : 1; /* 1=VFM must init and possibly reinit. */ @@ -246,7 +214,6 @@ struct variable union { struct crosstab_proc crs; - struct descriptives_proc dsc; struct frequencies_proc frq; struct list_proc lst; struct means_proc mns; @@ -345,7 +312,10 @@ void dict_set_case_limit (struct dictionary *, int); int dict_get_next_value_idx (const struct dictionary *); size_t dict_get_case_size (const struct dictionary *); + void dict_compact_values (struct dictionary *); +size_t dict_get_compacted_value_cnt (const struct dictionary *); +int *dict_get_compacted_idx_to_fv (const struct dictionary *); struct variable *const *dict_get_split_vars (const struct dictionary *); size_t dict_get_split_cnt (const struct dictionary *); @@ -405,6 +375,7 @@ void cancel_temporary (void); /* Functions. */ void dump_split_vars (const struct ccase *); +typedef int (* is_missing_func )(const union value *, const struct variable *); int is_num_user_missing (double, const struct variable *); int is_str_user_missing (const unsigned char[], const struct variable *); @@ -449,7 +420,6 @@ size_t var_set_get_cnt (struct var_set *vs); struct variable *var_set_get_var (struct var_set *vs, size_t idx); struct variable *var_set_lookup_var (struct var_set *vs, const char *name); void var_set_destroy (struct var_set *vs); - /* Variable parsers. */