X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasereader.h;h=a2e789ae6f777c8fc3688c3dc9110180434f75f0;hb=f9054cdd455bb3368161d6e3f400bd373f7044ba;hp=5300ee1d345b6cd80f710957f60a1fcc1a986517;hpb=9f41517ea7a60d879496d4b1cbb3c37a529296ab;p=pspp diff --git a/src/data/casereader.h b/src/data/casereader.h index 5300ee1d34..a2e789ae6f 100644 --- a/src/data/casereader.h +++ b/src/data/casereader.h @@ -58,6 +58,7 @@ struct dictionary; struct casereader; struct casewriter; +struct subcase; struct ccase *casereader_read (struct casereader *); bool casereader_destroy (struct casereader *); @@ -76,7 +77,7 @@ void casereader_force_error (struct casereader *); const struct taint *casereader_get_taint (const struct casereader *); casenumber casereader_get_case_cnt (struct casereader *); -casenumber casereader_count_cases (struct casereader *); +casenumber casereader_count_cases (const struct casereader *); void casereader_truncate (struct casereader *, casenumber); const struct caseproto *casereader_get_proto (const struct casereader *); @@ -99,7 +100,7 @@ casereader_create_filter_weight (struct casereader *, struct casewriter *exclude); struct casereader * casereader_create_filter_missing (struct casereader *, - const struct variable **vars, size_t var_cnt, + const struct variable *const*vars, size_t var_cnt, enum mv_class, casenumber *n_missing, struct casewriter *exclude); @@ -116,6 +117,22 @@ casereader_create_translator (struct casereader *, bool (*destroy) (void *aux), void *aux); +struct casereader * +casereader_translate_stateless (struct casereader *, + const struct caseproto *output_proto, + struct ccase *(*translate) (struct ccase *, + casenumber idx, + const void *aux), + bool (*destroy) (void *aux), + void *aux); + +struct casereader *casereader_project (struct casereader *, + const struct subcase *); +struct casereader *casereader_project_1 (struct casereader *, int column); +struct casereader *casereader_select (struct casereader *, + casenumber first, casenumber last, + casenumber by); + /* A function which creates a numberic value from an existing case */ typedef double new_value_func (const struct ccase *, casenumber, void *);