X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvar.h;h=d7756fce2830ffb134963f9ef51e4cf91f5fcd15;hb=4a529f3eb33c87fa4cf40b9e9464a581312d8e60;hp=6b826243178d6b276cfdc66d617f2464845cb15e;hpb=cf89e411db41c05c39753b05cf144c8b26a44d96;p=pspp diff --git a/src/var.h b/src/var.h index 6b82624317..d7756fce28 100644 --- a/src/var.h +++ b/src/var.h @@ -22,7 +22,7 @@ #include #include "format.h" -#include "t-test.h" +#include "group_proc.h" #include "val.h" /* Frequency tables. */ @@ -205,7 +205,7 @@ struct variable struct fmt_spec write; /* Default format for WRITE. */ /* Labels. */ - struct val_labs *val_labs; + struct val_labs *val_labs; /* Value labels. */ char *label; /* Variable label. */ /* Per-procedure info. */ @@ -219,7 +219,7 @@ struct variable struct means_proc mns; struct matrix_data_proc mxd; struct match_files_proc mtf; - struct t_test_proc t_t; + struct group_proc grp_data; } p; }; @@ -247,22 +247,6 @@ struct vector int cnt; /* Number of variables. */ }; -/* Cases. */ - -/* A single case. (This doesn't need to be a struct anymore, but it - remains so for hysterical raisins.) */ -struct ccase - { - union value data[1]; - }; - -/* Linked list of cases. */ -struct case_list - { - struct case_list *next; - struct ccase c; - }; - /* Dictionary. */ /* Complete dictionary state. */ @@ -300,6 +284,7 @@ int dict_rename_vars (struct dictionary *, struct variable **, char **new_names, size_t count, char **err_name); +struct ccase; struct variable *dict_get_weight (const struct dictionary *); double dict_get_case_weight (const struct dictionary *, const struct ccase *, int *); @@ -414,12 +399,14 @@ void cancel_transformations (void); struct var_set; -struct var_set *var_set_create_from_dict (struct dictionary *d); -struct var_set *var_set_create_from_array (struct variable **var, size_t); +struct var_set *var_set_create_from_dict (const struct dictionary *d); +struct var_set *var_set_create_from_array (struct variable *const *var, + size_t); -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); +size_t var_set_get_cnt (const struct var_set *vs); +struct variable *var_set_get_var (const struct var_set *vs, size_t idx); +struct variable *var_set_lookup_var (const struct var_set *vs, + const char *name); void var_set_destroy (struct var_set *vs); /* Variable parsers. */ @@ -438,12 +425,21 @@ enum }; struct variable *parse_variable (void); -struct variable *parse_dict_variable (struct dictionary *); -int parse_variables (struct dictionary *, struct variable ***, int *, +struct variable *parse_dict_variable (const struct dictionary *); +int parse_variables (const struct dictionary *, struct variable ***, int *, int opts); -int parse_var_set_vars (struct var_set *, struct variable ***, int *, +int parse_var_set_vars (const struct var_set *, struct variable ***, int *, int opts); int parse_DATA_LIST_vars (char ***names, int *cnt, int opts); int parse_mixed_vars (char ***names, int *cnt, int opts); + + +/* Return a string representing this variable, in the form most + appropriate from a human factors perspective. + (IE: the label if it has one, otherwise the name ) +*/ +const char * var_to_string(const struct variable *var); + + #endif /* !var_h */