X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.h;h=8668119b35f511667ea3661a5317727d49fdf869;hb=255b128bd64df42632d2a509bd9436f0163539d6;hp=fa7c0d6df0dff6410e1e7f0d0aece0c959171a96;hpb=2989bae3e4d22437b6f225385f70423851612a2a;p=pspp-builds.git diff --git a/src/data/variable.h b/src/data/variable.h index fa7c0d6d..8668119b 100644 --- a/src/data/variable.h +++ b/src/data/variable.h @@ -28,8 +28,6 @@ #include "format.h" #include "missing-values.h" -/* Script variables. */ - /* Variable type. */ enum var_type { @@ -127,110 +125,6 @@ struct vector struct variable **var; /* Vector of variables. */ int cnt; /* Number of variables. */ }; - -void discard_variables (void); - -/* This is the active file dictionary. */ -extern struct dictionary *default_dict; - -/* Transformation state. */ - -/* PROCESS IF expression. */ -extern struct expression *process_if_expr; - -/* TEMPORARY support. */ - -/* 1=TEMPORARY has been executed at some point. */ -extern int temporary; - -/* If temporary!=0, the saved dictionary. */ -extern struct dictionary *temp_dict; - -/* If temporary!=0, index into t_trns[] (declared far below) that - gives the point at which data should be written out. -1 means that - the data shouldn't be changed since all transformations are - temporary. */ -extern size_t temp_trns; - -void cancel_temporary (void); - -struct ccase; -void dump_split_vars (const struct ccase *); - -/* Transformations. */ - -/* trns_proc_func return values. */ -#define TRNS_CONTINUE -1 /* Continue to next transformation. */ -#define TRNS_DROP_CASE -2 /* Drop this case. */ -#define TRNS_ERROR -3 /* A serious error, so stop the procedure. */ -#define TRNS_NEXT_CASE -4 /* Skip to next case. INPUT PROGRAM only. */ -#define TRNS_END_FILE -5 /* End of input. INPUT PROGRAM only. */ - -typedef int trns_proc_func (void *, struct ccase *, int); -typedef bool trns_free_func (void *); - -/* A transformation. */ -struct transformation - { - trns_proc_func *proc; /* Transformation proc. */ - trns_free_func *free; /* Garbage collector proc. */ - void *private; /* Private data. */ - }; - -/* Array of transformations */ -extern struct transformation *t_trns; - -/* Number of transformations, maximum number in array currently. */ -extern size_t n_trns, m_trns; - -/* Index of first transformation that is really a transformation. Any - transformations before this belong to INPUT PROGRAM. */ -extern size_t f_trns; - -void add_transformation (trns_proc_func *, trns_free_func *, void *); -size_t next_transformation (void); -bool cancel_transformations (void); - -struct var_set; - -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 (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); -bool var_set_lookup_var_idx (const struct var_set *vs, const char *name, - size_t *idx); -void var_set_destroy (struct var_set *vs); - -/* Variable parsers. */ - -enum - { - PV_NONE = 0, /* No options. */ - PV_SINGLE = 0001, /* Restrict to a single name or TO use. */ - PV_DUPLICATE = 0002, /* Don't merge duplicates. */ - PV_APPEND = 0004, /* Append to existing list. */ - PV_NO_DUPLICATE = 0010, /* Error on duplicates. */ - 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. */ - }; - -struct pool; -struct variable *parse_variable (void); -struct variable *parse_dict_variable (const struct dictionary *); -int parse_variables (const struct dictionary *, struct variable ***, size_t *, - int opts); -int parse_var_set_vars (const struct var_set *, struct variable ***, size_t *, - int opts); -int parse_DATA_LIST_vars (char ***names, size_t *cnt, int opts); -int parse_mixed_vars (char ***names, size_t *cnt, int opts); -int parse_mixed_vars_pool (struct pool *, - char ***names, size_t *cnt, int opts); /* Return a string representing this variable, in the form most @@ -240,4 +134,7 @@ int parse_mixed_vars_pool (struct pool *, const char * var_to_string(const struct variable *var); +int width_to_bytes(int width); + + #endif /* !variable.h */