X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvar.h;h=d7756fce2830ffb134963f9ef51e4cf91f5fcd15;hb=4a529f3eb33c87fa4cf40b9e9464a581312d8e60;hp=21b23faccf040a9282fe97a3747feb4ba2613a4b;hpb=b9e28aa5614a079548c616bcf97aa804024ad647;p=pspp diff --git a/src/var.h b/src/var.h index 21b23faccf..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,8 +284,10 @@ 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 *); +double dict_get_case_weight (const struct dictionary *, + const struct ccase *, int *); void dict_set_weight (struct dictionary *, struct variable *); struct variable *dict_get_filter (const struct dictionary *); @@ -413,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. */ @@ -433,16 +421,25 @@ enum PV_NUMERIC = 0020, /* Vars must be numeric. */ PV_STRING = 0040, /* Vars must be string. */ PV_SAME_TYPE = 00100, /* All vars must be the same type. */ - PV_NO_SCRATCH = 00200, /* Disallow scratch variables. */ + PV_NO_SCRATCH = 00200 /* Disallow scratch variables. */ }; 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 */