X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasereader.h;h=3df80cb08fb8d38acc302e0654a0217dd666287a;hb=ffce2432a76f3ffbe2a19228d3b3d03613c3b4a3;hp=6d719c6128da45b9fbd8f6635741132053311816;hpb=c217e77f75f84c5e31ea0f698014069cd4e78e0c;p=pspp diff --git a/src/data/casereader.h b/src/data/casereader.h index 6d719c6128..3df80cb08f 100644 --- a/src/data/casereader.h +++ b/src/data/casereader.h @@ -98,6 +98,7 @@ struct casereader * casereader_create_filter_missing (struct casereader *, const struct variable **vars, size_t var_cnt, enum mv_class, + casenumber *n_missing, struct casewriter *exclude); struct casereader * @@ -112,4 +113,33 @@ casereader_create_translator (struct casereader *, size_t output_value_cnt, bool (*destroy) (void *aux), void *aux); +/* A function which creates a numberic value from an existing case */ +typedef double new_value_func (const struct ccase *, casenumber, void *); + +struct casereader * +casereader_create_append_numeric (struct casereader *subreader, + new_value_func func, void *aux, + void (*destroy) (void *aux)); + +struct casereader * +casereader_create_arithmetic_sequence (struct casereader *, + double first, double increment); + +enum rank_error + { + RANK_ERR_NONE = 0, + RANK_ERR_NEGATIVE_WEIGHT = 0x01, + RANK_ERR_UNSORTED = 0x02 + }; + + +typedef void distinct_func (double v, casenumber n, double w, void *aux); + +struct casereader * +casereader_create_append_rank (struct casereader *, + const struct variable *v, const struct variable *w, + enum rank_error *err, + distinct_func *distinct_callback, void *aux); + + #endif /* data/casereader.h */